PHP:如果存在,请使用本地图像

时间:2015-09-08 13:37:33

标签: php image caching directory local

我有一个脚本来本地缓存图像。它完美无缺;

<?
$image = file_get_contents("$bg");
$filename = basename($bg);
file_put_contents("images/$filename", $image);
?>
<img src="<? echo $bg; ?>"><br>

但是,我希望我的脚本使用img标记中的本地图像,如果它已经下载并存在于我的文件夹中。如果尚未下载图像,则保存外部图像,然后使用本地图像。

换句话说;检查图像是否已经在文件夹中,如果不是 - 然后下载并显示本地文件。如果它已经在文件夹中,则只显示本地图像而不再重新下载图像。

3 个答案:

答案 0 :(得分:2)

您可以使用file_exists()

<?php
$filename = basename($bg);
if(!file_exists("images/$filename")){
    // we don't have it, Cache it first
    $image = file_get_contents("$bg");
    file_put_contents("images/$filename", $image);
}
?>

<img src="<? echo $bg; ?>"><br>

答案 1 :(得分:2)

您可以使用file_exists功能测试文件的存在,请参阅文档: http://php.net/manual/fr/function.file-exists.php

<?php
 $filename = basename($bg);
 if(!file_exists($filename))
 {
    $image = file_get_contents("$bg");
    file_put_contents("images/$filename", $image);
 }
?>
 <img src="images/<?php print $filename?>"><br />

答案 2 :(得分:1)

您可以使用file_exists功能检查是否已退出。

试试例

<?php
$filename = basename($bg);
if(!file_exists($filename))
{
    $image = file_get_contents("$bg");
    file_put_contents("images/$filename", $image);
}
?>
<img src="images/<?=$filename?>"><br>