2015-11-04 70 views
0

我正在練習上傳和刪除php中的文件,並且遇到了問題。在php中刪除特定文件

我有這樣的代碼:

if($files) 
{ 
    foreach($files as $file) 
    { 
     echo '<a href="files_storage/'.$file.'" download>'.$file.'</a><br>'; 
    } 
} 
else 
{ 
    echo 'There are currently no files.'; 
} 

它從目錄顯示所有文件。我想爲每個文件添加一個刪除按鈕。事情是這樣的:

enter image description here

我應該爲每個文件建立不同形式?如果我這樣做了,如何在提交表單時確定要刪除哪個文件?有什麼建議麼?

+0

那麼你代碼DELETE按鈕,我們會告訴你什麼添加到它來獲得一個單一的PHP腳本來做刪除。否則,這看起來更像是一個**規範**而不是**問題** – RiggsFolly

+0

我的回答對您有幫助嗎? – Jonan

回答

0

您可以將所有提交按鈕放在一個表單中,並將每個按鈕的名稱屬性設置爲delete[' . $file . ']。然後,在循環的開始,檢查是否設置了$_POST['delete'][$file]並將其刪除。

if(!empty($files)){ 
    echo '<form action="" method="post">'; 
    foreach($files as $file){ 
     if(isset($_POST['delete'][$file]) && file_exists($file)){ 
      unlink($file); 
      continue; 
     } 
     echo '<a href="files_storage/'.$file.'" download>'.$file.'</a><input type="submit" name="delete[' . $file . ']" value="Delete this file" /><br>'; 
    } 
    echo '</form>'; 
} 
if(empty($files)){ //check again, since $files may be empty after deletion 
    echo 'There are currently no files.'; 
}