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

4-1. 檔案上傳的基本工作

了解檔案上傳的操作流程

準備表單

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

<h1>單檔上傳</h1>
<form name="uploadForm" enctype="multipart/form-data" method="POST" action="">
  <input type="file" name="upload_file">
  <input type="submit" value="確定上傳">
</form>

接收上傳檔案查看檔案資訊

<hr>
<?php
//假如有接收到上傳檔案,才執行以下工作======================================
//$_FILES: 接收上傳檔案的系統變數, 是一個陣列變數, 接收保存了上傳檔案的5個訊息
if (isset($_FILES['upload_file'])) {
  $file = $_FILES['upload_file'];
  print_r($file);
}
?>

上傳成功再將檔案搬移到指定位置

print_r($file);
$error = $file['error'];  //上傳工作傳回的錯誤訊息編號
 
//當上傳成功沒有錯誤時, 將上傳暫存區的檔案搬移到指定的資料夾位置
if ($error == 0) {
 
  $tmp_name  = $file['tmp_name'];  //上傳檔案的類型(副檔名)
  $file_name = $file['name'];      //上傳檔案的原來檔案名稱
 
  //判斷指定資料夾是否存在, 如果不存在則建立出指定的資料夾
  //file_exists(指定資料夾或是指定檔案) 判斷指定的資料夾或檔案是否存在
  $path = './img_upload/';
  if (!file_exists($path)) { mkdir($path); }
 
  //搬移檔案 move_uploaded_file(要搬移的檔案, 目的地位置及目的檔案名稱), 成功傳回true(1)
  $result = move_uploaded_file($tmp_name, $path.$file_name);
  echo '<br>---------檔案傳送'.$result;
 
  //假如指定搬移位置的上傳檔案已存在, 表示上傳成功, 接著練習拷貝、刪除
  if (file_exists($path.$file_name)) {
    $path2 = './img_upload2/';
    if (!file_exists($path2)) { mkdir($path2); }
 
    //拷貝檔案 copy(指定要搬移的檔案, 目的地位置及目的檔案名稱), 成功傳回true(1)
    $result = copy($path.$file_name, $path2.'test'.$file_name);
    echo '<br>---------檔案拷貝'.$result;
    //練習刪除檔案
    $result = unlink($path.$file_name);
    echo '<br>---------檔案刪除'.$result;
  }
 
}

PHP部署相關檔案上傳的預設

前往 localhost => 點選 PHP Information Version => 再運尋找功能search 「upload」

加強認識相關 Filesystem 函數

加強認識相關 Filesystem 函數

 

 

go TOP