PHP创建的图像没有扩展名,因此不被视为图像

时间:2018-11-24 13:28:56

标签: 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["tmp_name"];
is_array(getimagesize($filepath); //returns false

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

imagecreatefromstring返回的图像不是数组。

$photo = imagecreatefromstring(file_get_contents("https://some.com/image.jpg"));
ob_end_clean();
header('Content-type: image/jpeg');
imagejpeg($photo, null, 80);

如果此代码未生成图像,则从找出file_get_contents()的返回值开始调试。

也-创建图像(使用imagecreatefrom ...函数中的任何一个)后,您将处理图像资源,而不是文件系统或任何其他对象。图片资源没有您要提取的信息(名称,pathinfo等)