我正在使用此代码从 Mapquest Traffic API 下载图像文件。
<?php
$files = glob("/root/TrafficHistory/*.gif");
$lastFileName = $files[count($files)-1];
$newFile = time() . ".gif";
$imgData = file_get_contents("http://www.mapquestapi.com/traffic/v2/flow?key=**REMOVED**&mapLat=34.05396382838673&mapLng=-118.24529104634557&mapHeight=1000&mapWidth=1000&mapScale=433342");
file_put_contents("/root/TrafficHistory/" . $newFile, $imgData);
$md5Old = md5_file($lastFileName);
if ($md5Old == md5_file("./" . $newFile)) {
unlink("./" . $newFile);
echo "\033[31mTraffic data same at " . time() . " aborting.\033[0m\n";
} else {
echo "\033[32mNew traffic data downloaded to /root/TrafficHistory/" . $newFile . " at " . time() . "\033[0m\n";
}
?>
尽管我在保存图像时发生错误,但代码可以完美运行。如此处所示,您可以看到通过下载的流量覆盖file_get_contents
似乎没有完全下载 GIF 图像。这是有问题的 GIF 的链接(它在浏览器中正确显示,但不会在 PhotoShop 中打开,说明文件意外结束)。请注意,通过这种方式下载的所有图像都以file_get_contents
这种方式显示。虽然直接通过 API 链接查看时,它们显示完美。如果需要,这里也是 Mapquest Traffic API 的链接。谢谢你的帮助。