PHP:如何检查file_get_contents()的结果字符串是否是JPG图像?
我正在使用PHP:如何检查file_get_contents()的结果字符串是否是JPG图像?,php,Php,我正在使用file\u get\u contents()从远程服务器中提取一些图像,我想在进一步处理之前确认结果字符串是否为JPG/PNG图像,比如在本地保存和创建拇指 $string = file_get_contents($url); 您将如何执行此操作?您可以使用 来评估您的文件。请检查php手册 编辑: 请注意,必须启用PHP_EXIF。您可以阅读更多有关它的信息也许您可以使用标准PHP函数exif\u imagetype() 我只是测试了一下它的工作原理。您需要创建一个临时文件,因
file\u get\u contents()
从远程服务器中提取一些图像,我想在进一步处理之前确认结果字符串是否为JPG/PNG图像,比如在本地保存和创建拇指
$string = file_get_contents($url);
您将如何执行此操作?您可以使用
来评估您的文件。请检查php手册
编辑:
请注意,必须启用PHP_EXIF。您可以阅读更多有关它的信息也许您可以使用标准PHP函数exif\u imagetype() 我只是测试了一下它的工作原理。您需要创建一个临时文件,因为映像函数处理本地数据,并且它们只接受本地目录路径,如“C:\wamp2\www\temp\image.png” 如果不使用
fclose($handle)代码>PHP将在脚本结束后自动删除tmp。我从中获得了JPG图像的起始位。所以基本上你可以做的是检查起始位是否相等:
$url = 'http://i.stack.imgur.com/Jh3mC.jpg?s=128&g=1';
$jpg = file_get_contents($url);
if(substr($jpg,0,3) === "\xFF\xD8\xFF"){
echo "It's a jpg !";
}
这个怎么样?PS:PHP_EXIF扩展必须安装&enabled@HamZaDzCyberDeV谢谢你的更正,我按照你说的编辑了它。这是对这个问题最好的回答,因为它不需要临时文件策略或安装的扩展名。
$url = 'http://i.stack.imgur.com/Jh3mC.jpg?s=128&g=1';
$jpg = file_get_contents($url);
if(substr($jpg,0,3) === "\xFF\xD8\xFF"){
echo "It's a jpg !";
}