2011-03-30 18 views
1

PHPを使用してフォルダから画像を削除するスクリプトがあります。PHPを使用して削除する画像を表示する方法Unlink

問題は画像がページに表示されないことです。

私のコードは

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

あなたの条件に+1が定義されている( "DS")|| (「DS」、DIRECTORY_SEPARATOR)を定義し、それだけの形で '' 「/>欠けていない場合は 'それを行うための良い方法として、そのよう – RobertPitt

+0

@Pekka +1、それをやって考えたことがない、私は思ったんだけど... – ybo

答えて

0

ありがとうございます。

関連する問題