我有一个脚本可以检查远程服务器上的文件,如果它已在本地可用,则应使用该脚本。如果它在本地不可用,则将图像下载到服务器。但是,我正在努力用脚本覆盖我已在本地拥有的图像。如果它已在本地可用,则脚本不应对文件执行任何操作 - 只需显示它即可。
在某些情况下,脚本会尝试下载我已经拥有的图像 - 并且它覆盖的文件的文件大小变为0kb,即使该文件在较早的时候运行良好。
我在这里做错了什么?
<?php
$url = "http://www.myserver.com/image123.jpg";
$filename = basename($url);
if(!file_exists(images/$filename))
{
// File doesn't exsist, download it!
$image = file_get_contents("$url");
file_put_contents("images/$filename", $image);
$image = "images/$filename";
} else {
// We already got this file, display it!
$image = "images/$filename";
}
echo $image;
?>
答案 0 :(得分:1)
<?php
$url = "http://www.myserver.com/image123.jpg";
$filename = basename($url);
$path = "images/$filename";
if( !file_exists($path) ) {
$image = file_get_contents($url);
file_put_contents($path, $image);
}
echo $path;
?>