如何显示要删除的图像

时间:2011-03-21 20:15:30

标签: php

我有以下代码从文件夹中删除图像,但它不显示页面上的图像,更糟糕的是它显示给定文件夹中的所有文件夹和文件。

我只希望删除图像而不删除任何具有给定文件夹名称的文件夹。

我的代码是:

<?php
$path = "../imagefolder";

if(isset($_POST['file']) && is_array($_POST['file']))
{
    foreach($_POST['file'] as $file)
    {   
        unlink($path . "/" . $file) or die("Failed to <strong class='highlight'>delete</strong> file");
    }
    header("location: " . $_SERVER['REQUEST_URI']); //redirect after deleting files so the user can refresh without that resending post info message
}
?>
<form name="form1" method="post">
<?php

$path = "../imagefolder";
$dir_handle = @opendir($path) or die("Unable to open folder");

while (false !== ($file = readdir($dir_handle))) 
{

if($file == "index.php")
continue;
if($file == ".")
continue;
if($file == "..")
continue;

echo "<input type='CHECKBOX' name='file[]' value='$file'>";
echo "<img src='$file' alt='$file'><br />";

}
closedir($dir_handle);

?>
<input type="submit" name="Delete" value="Delete">
</form>

这是显示我的图库的代码

<?php 

        function createLbFromDir ($linkname, $galname, $directory, $thumbdirectory, $extensions = array ('jpg', 'jpeg','png','gif')) {
    $gallery = "";
    $dh = opendir ($directory);
    while ($file = readdir ($dh)) {
        $parts = explode(".", basename ($file));
        $extension = $parts[count($parts)-1];
        if (!is_dir ($directory . $file) && ($file != ".." && $file != ".") && in_array($extension, $extensions)) {
        $gallery.= "<a href="".$directory.$file."" rel="lightbox[".$galname."]"><img src="".$thumbdirectory.$file."" alt=""></a>n";
        }
    }
    return $gallery;
    }

    // Page variables
    $pageTitle = "SAFAAS - Asian Clothes Specialists";  
    $currentPage = "gallery"; 

        require_once("includes/header.php"); 

        require_once("includes/menu.php"); 
?>

<div id="portfolio_content" class="block">

                          <ul>

                            <?php echo createLbFromDir ("Linkname", "galleryname", "imagefolder/" , "imagefolder/thumbfolder/"); ?>


                          </ul>

                      </div>

图库显示为画廊精细,画廊工作,使用灯箱滑块插件,工作正常。

我只需要在我的deleteimages.php页面上显示图像,并且只显示图像而不是文件夹中的子文件夹。

2 个答案:

答案 0 :(得分:1)

更改此

while (false !== ($file = readdir($dir_handle))) 

while (false != ($file = readdir($dir_handle))) 

答案 1 :(得分:1)

您的代码的这一部分:

$echo "<img src='$file' alt='$file'><br />";$

应该是:

$echo "<img src='$path$file' alt='$file'><br />";$

应该解决它:)