Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:如何检查file_get_contents()的结果字符串是否是JPG图像?_Php - Fatal编程技术网

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 !";
}