2015-04-05 78 views
1

在一個名爲docs.php我做了下面的代碼來顯示所有文件上傳裏面夾刪除文件與foreach循環

在foreach()循環都在那裏存儲在一個文件視圖的網站,並有一個超鏈接,讓它在瀏覽器中打開(在我的模型文件中,它僅限於pds,png或jpg文件)

我無法做的是在foreach ()循環顯示某種超鏈接(例如:刪除我!),允許用戶點擊並刪除特定的文件phys ical從服務器,其他未點擊的必須保持可見。

爲了在for循環裏面我的PHP代碼()是:

<?php 
     $files=\yii\helpers\FileHelper::findFiles('uploads/', ['except'=>['*.DS_Store']]); 
     if (isset($files[0])) { 
      foreach ($files as $index => $file) { 
       $nameFile = substr($file, strrpos($file, '/') + 1); 
       echo Html::a($nameFile, Url::base().'/uploads/'.$nameFile) . "<br/>" . "<br/>" ; // render do ficheiro no browser 
      } 
     } else { 
      echo "There are no files available for download."; 
     } 
    ?> 
+0

你可以在不使用foreach循環的情況下刪除這些文件嗎? – 2015-04-05 10:53:57

+0

我不這麼認爲,因爲我沒有在我的數據庫中創建一個blob文件。我只驗證並保存uploads文件夾中的文件,然後用foreach循環遍歷它們以顯示在視圖內。 – 2015-04-05 10:55:56

回答

1

正如我假設你已經FileHelper的概念,但刪除你必須使用PHP的本地函數unlink文件(文件路徑) 。 unlink()

+0

謝謝。我會看看我能用這個提示做些什麼。 – 2015-04-05 11:24:11

+0

現在它刪除文件夾內的所有文件,因爲我的unlink函數在foreach循環中使用。 – 2015-04-05 17:48:41