如何使用PHP从缺少镜像扩展名的远程服务器中保存镜像

用户名

我使用DOMDocument提取包含图像文件的html页面,html页面看起来像这样

<div>
   <img src="http://pic.aa.com/a/b/0525">
</div>

提取src地址后,将其放入此函数中

copy('http://pic.aa.com/a/b/0525', 'd:tmp/img_name');

我没有得到的是如何确定文件应具有的扩展名,没有uri的线索,唯一可能的方法是使用chrome浏览器工具检查响应标头,但似乎效率不高,任何人都知道正确的方法吗?

黄飞鸿

好于我可以给您提示使用exif_imagetype();此处提供功能:

http://php.net/manual/zh/function.exif-imagetype.php

您可以使用for / while / foreach循环来确定图像类型,例如:

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'The picture is not a gif';
}
?>

还有这样的事情可能会帮助你:

<?php 
$filename = 'http://myhost/myunkownimagefiletype'; 
$size = getimagesize($filename); 

switch ($size['mime']) { 
    case "image/gif": 
        echo "Image is a gif"; 
        break; 
    case "image/jpeg": 
        echo "Image is a jpeg"; 
        break; 
    case "image/png": 
        echo "Image is a png"; 
        break; 
    case "image/bmp": 
        echo "Image is a bmp"; 
        break; 
} 
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从远程服务器镜像文件?

如何在Fedora中使用特定的镜像服务器?

使用Java从远程服务器复制具有特定扩展名的所有文件

当有人推送到主远程仓库(gitlab)时,如何更新镜像的远程存储库(自己的服务器)?

如何在NGINX服务器中使用扩展名设置位置

如何使用POSTMAN扩展名向Baasbox服务器发出REST请求?

如何为springframework构建镜像服务器

如何从公共服务器更新本地镜像?

如何更改mysql服务器docker镜像的默认端口

如何从构建服务器部署/运行 Docker 镜像

Softlayer - 如何通过镜像名称找到硬件服务器的镜像引用代码

使用 nginx 服务器构建 NextJS Docker 镜像

如何使用内置网络服务器返回 .php 文件的内容,在 url 中没有 .php 扩展名

人偶rpm镜像服务器

SVN服务器上的Gitolite镜像

Django linux 服务器镜像存储

如何在Linux中保存Withou扩展名文件?

LFTP-通过lftp镜像上载时从远程服务器中删除文件--reverse

即使存在.php扩展名,我的Apacher服务器也会渲染php文件

如何使用Django保存到远程服务器

如何使用可视svn服务器保存远程文件?

在扩展的镜像服务器上运行克朗(需要克朗逻辑)

从服务器下载没有扩展名的文件

如果服务器不接受扩展名,则禁用客户端扩展名

如何仅从FTP服务器下载具有特定扩展名的文件?

如何在ubuntu 16.04中列出X服务器的扩展名?

使用 JavaScript 获取媒体服务器 URL(无扩展名)的文件类型

当上传和镜像到服务器时,PHP返回错误

如何将裸存储库镜像到工作存储库 - 都在服务器上?