如何使用PHP Unlink显示要删除的图像

时间:2011-03-30 09:40:00

标签: php

我有一个脚本,可以使用PHP删除文件夹中的图像。

问题是图像没有显示在页面上。

我的代码如下

<?php
// directory separator
defined("DS")
    || define("DS", DIRECTORY_SEPARATOR);

// root path
defined("ROOT_PATH")
    || define("ROOT_PATH", realpath(dirname(__FILE__)));

// upload folder directory
defined("UPLOAD_DIR")
    || define("UPLOAD_DIR", "uploads");

// path to the upload folder
defined("UPLOAD_PATH")
    || define("UPLOAD_PATH", ROOT_PATH.DS.UPLOAD_DIR);


function getAllFiles($folder = null) {
    if(!empty($folder) && is_dir($folder)) {
        if($handle = opendir($folder)) {
            $out = array();
            while($file = readdir($handle)) {
                if(is_file($folder.DS.$file)) {
                    $out[] = $file;
                }
            }
            closedir($handle);
            return $out;
        }
        return false;
    }
    return false;
}

$files = getAllFiles(UPLOAD_PATH);

if (!empty($_POST['file'])) {
    foreach($_POST['file'] as $file) {
        unlink(UPLOAD_PATH.DS.$file) or die("Failed to <strong class='highlight'>delete</strong> file");
    }
    header("location: " . $_SERVER['REQUEST_URI']);
}
?>

<?php if (!empty($files)) { ?>

<form name="form1" method="post">
    <?php foreach($files as $key => $file) { ?>
        <label for="file_<?php echo $key; ?>">
            <input type="checkbox" name="file[]" id="file_<?php echo $key; ?>" value="<?php echo $file; ?>" /> 
            <?php echo $file; ?>
        </label>
    <?php } ?>
    <input type="submit" name="delete" value="Delete" />
</form>

该代码可以正常删除图像,但不会在页面上显示图像。

非常感谢你的帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

我认为图片仍在浏览器缓存中,因此删除缓存将导致无法看到任何已删除的图片。