PHP:保存动态URL图像到磁盘


PHP: Save Dynamic URL Image to Disk

由于无法在磁盘上捕获以下动态图像,我只能获得一个1K大小的文件

http://water.weather.gov/precip/save.php?timetype=RECENT& loctype = NWS&单位= engl&时间= current&产品= observed& loc =地区

我已经设置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');

的行为是相同的,得到沉淀.png大小760字节,在我的windows开发盒和linux staging盒,所以可以排除操作系统的问题。同样,所有PHP函数都做同样的事情——生成一个文件——但是是空的。命令行curl程序也生成相同的1K垃圾文件。

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

理想情况下,我希望这是在PHP或一些命令行工具,如curl完成。我试图避免添加java (imageio)依赖只是为了这个…直到我不得不去那里……

我想先了解野兽(图像)的本质;-)…

要保存的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