PHP file_exists并在本地保存

时间:2015-09-09 06:35:21

标签: php image file download file-exists

我有一个脚本可以检查远程服务器上的文件,如果它已在本地可用,则应使用该脚本。如果它在本地不可用,则将图像下载到服务器。但是,我正在努力用脚本覆盖我已在本地拥有的图像。如果它已在本地可用,则脚本不应对文件执行任何操作 - 只需显示它即可。

在某些情况下,脚本会尝试下载我已经拥有的图像 - 并且它覆盖的文件的文件大小变为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;
?>

1 个答案:

答案 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;

?>