PHP:将动态URL映像保存到磁盘

时间:2014-06-26 18:44:33

标签: php curl

在磁盘上捕获以下动态图像时遇到问题,我得到的只是1K大小的文件

http://water.weather.gov/precip/save.php?timetype=RECENT&loctype=NWS&units=engl&timeframe=current&product=observed&loc=regionER

我已经设置了PHP cURL功能,可以在静态图像上正常工作,但不适用于上述链接。同样,复制函数,file_put_contents(file_get_contents)......它们都可以正常运行静态图像。在SO中使用这些PHP函数的参考文献很多,所以我不会在这里详细介绍。只需复制命令:

copy('http://water.weather.gov/precip/save.php?timetype=RECENT&loctype=NWS&units=engl&timeframe=current&product=observed&loc=regionER', 'precip5.png');

行为相同,在我的Windows开发盒和linux登台框上获得了大小为760字节的precip5.png,因此可以规定操作系统问题。同样,所有PHP函数完全相同 - 生成文件 - 但是为空。命令行curl程序也生成相同的垃圾1K文件。

所以,问题似乎是来源,我能说的最好的是它是一个动态(流媒体?)图像。

理想情况下,我希望这可以在PHP或某些命令行实用程序(如curl)中完成。我试图避免为此添加java(imageio)依赖...直到我绝对必须去那里......

我试图首先了解野兽(图像)的本质; - )......

1 个答案:

答案 0 :(得分:1)

您要保存的URL会生成HTML输出,而不是图像。您缺少参数&print=1

http://water.weather.gov/precip/save.php?timetype=RECENT&loctype=NWS&units=engl&timeframe=current&product=observed&loc=regionER&print=1