WEB ◆ TS Library ◆ 熱衷分享 ◆ 享受教學相長 ◆ 無形的網絡擁有熱情溫度的傳遞

4-4. 顯示已上傳的檔案&刪除檔案

講義參考用,要活用變化,或許要修改喔~

顯示已上傳的檔案

開新檔案 upload004.php, 儲存在 ref 資料夾。

<h1>顯示已上傳的影像檔案&刪除圖檔</h1>
 
<table border="1">
  <tr>
    <td>圖像</td>
    <td>含路徑及檔名</td>
    <td>不含路徑的檔名</td>
    <td>只有主檔名</td>
    <td>刪除</td>
  </tr>
 
  <?php
  //取出上傳影像的資料夾中的所有檔案,記錄到$files陣列變數
  $pathfile = './upload_file/*.*';
  $files = glob($pathfile);
  //print_r($files);
 
  //顯示影像內容 ($file是含路徑的檔案名稱,代表了一個檔案)
  foreach ($files as $file) {
    echo '<tr>';
    //$file => 含路徑及檔名
    $file_name = basename($file);  //不含路徑的檔名
    $ext = '.' . pathinfo($file_name, PATHINFO_EXTENSION);
    $file_basename = basename($file_name, $ext);  //不含副檔名,只有主檔名的部份
 
    //getimagesize($file)是取得$file檔案的圖檔資訊, 如果不是圖檔, 則會回傳false
    if (getimagesize($file)) {
      //當getimagesize($file)能取得到圖檔資訊時, 相當於回傳true, 則顯示img影像
      echo '<td><img src="' . $file . '" width="50" style="vertical-align: middle"></td>';
    } else {
      echo '<td>【不是圖檔】</td>';
    }
    echo '<td>' . $file . '</td>';           //含路徑及檔名
    echo '<td>' . $file_name . '</td>';      //不含路徑的檔名
    echo '<td>' . $file_basename . '</td>';  //不含路徑不含副檔名,只有主檔名
    echo '<td><a href="upload004.php?del=' . $file_name . '">刪除</a></td>';
    echo '</tr>';
  }
  ?>
</table>
<style>
  table { border-collapse: collapse; }
  table td { padding: 3px 5px; }
</style>

刪除檔案

<?php
if (isset($_GET['del']) && $_GET['del'] != '') {
  $file = './upload_file/'.$_GET['del'];
  unlink($file);
  header('Location:upload004.php');
}
?>

 

 

go TOP