2011-03-21 7 views
0

다음 코드를 사용하여 폴더에서 이미지를 삭제하지만 이미지를 페이지에 표시하지 않으며 해당 폴더 내의 모든 폴더와 파일을 표시한다는 점도 나쁘다.삭제할 이미지를 표시하는 방법

주어진 폴더 이름이있는 폴더가 아닌 이미지 만 삭제하고 싶습니다.

내 코드는 다음과 같습니다이

<?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> 

이미지

는 갤러리 벌금과 갤러리의 작품 표시됩니다 내 갤러리를 표시하고 라이트 슬라이더 플러그인 및 작품을 사용하는 코드는

<?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> 

벌금.

단지 내 deleteimages.php 페이지에 표시 할 이미지가 필요하며 이미지는 폴더 내의 하위 폴더에 표시되지 않습니다.

답변

1

변경이

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

코드의이 섹션

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

에 :

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

은 다음과 같아야합니다

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

수정해야합니다.

관련 문제