【发布时间】:2016-02-04 02:54:24
【问题描述】:
我很想了解保存 .gif 或 .jpg 之间的区别(使用下面的代码似乎可以正常工作),但如果我将其更改为 .png 则不起作用
因此,此代码适用于 .jpg 或 .gif 图像(以 .jpg 或 .gif 结尾的链接)
$img = "http://www.anylocation.com/image.gif";
$ch = curl_init($img);
$fp = fopen($currentdir . 'image.gif', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
echo "<b>Image stored...<br>";
但如果我这样做:
$img = "http://www.anylocation.com/image.png";
$ch = curl_init($img);
$fp = fopen($currentdir . 'image.png', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
echo "<b>Image stored...<br>";
它不会保存图像,好吧,它会尝试保存,但它只是写入 0 字节大小且没有内容的 image.png。
理想情况下,我想修改上面的代码,使其适用于任何场景或图像类型。如果不是,并且 .png 的代码必须不同,我可以写一个“检查 $img 的扩展名”并将其指向正确的代码段。
任何人都可以帮助解释为什么这不适用于 .png,如果可能的话,我可以进行任何更改以使其正常工作吗?
【问题讨论】:
-
http://www.anylocation.com/image.png存在吗?如果没有,那么你知道为什么...... -
会不会是你的 php-server 不支持
png?您可以使用if(function_exists('imagepng'))进行测试 -
@Jeff cURL 不使用任何图像处理函数。它只是写入文件。
-
我刚刚用 gif 和 png 文件尝试了你的代码,它对两者都很好。 png图片的url为:3.bp.blogspot.com/-wmjRI5piPpo/UBwOCYjn-8I/AAAAAAAAELs/…
-
你有具体的 png url 想让我试试吗?
标签: php