由PHP创建的图像没有扩展名,也不会被视为图像

由PHP创建的图像没有扩展名,也不会被视为图像,php,Php,例如,我正在从远程服务器google加载一个图像,但PHP从不将其视为图像。这是我的代码: $photo = imagecreatefromstring(file_get_contents("https://some.com/image.jpg")); $filename = $photo["name"]; $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); //returns "" $filepath = $photo["tm

例如,我正在从远程服务器google加载一个图像,但PHP从不将其视为图像。这是我的代码:

$photo = imagecreatefromstring(file_get_contents("https://some.com/image.jpg"));
$filename = $photo["name"];
$ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); //returns ""
$filepath = $photo["tmp_name"];
is_array(getimagesize($filepath); //returns false

我做错了什么?

imagecreatefromstring返回一个图像而不是数组

$photo = imagecreatefromstring(file_get_contents("https://some.com/image.jpg"));
ob_end_clean();
header('Content-type: image/jpeg');
imagejpeg($photo, null, 80);
如果此代码不生成图像,则从查找文件\u get\u内容的返回值开始调试


另外-使用任何imagecreatefrom创建图像后。。。处理图像资源的函数,而不是文件系统或任何其他对象。图像资源没有您试图提取的名称、路径信息等信息。

可以在每行之后添加var_dump,以查看哪一行有缺陷。@ColinCline var_dump$photo返回gd类型的resource9,$photo['name']和['tmp_name']为空