首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

五分鐘掌握 PHP 檔案上傳完整實作範例

     編輯:PHP 相關知識

PHP 上傳的簡潔之美

PHP 語法平實易懂,無需複雜的類別體系即可上手,這使它成為 Web 開發的首選語言之一。無論偏好面向過程還是面向物件,PHP 都能靈活適應,快速滿足業務需求。

最小可行上傳範例

前端表單(index.html)

<form enctype="multipart/form-data" action="upload.php" method="post">
  <input type="hidden" name="MAX_FILE_SIZE" value="300000">
  <input name="userfile" type="file">
  <input type="submit" value="上傳檔案">
</form>

後端處理(upload.php)

<?php
$uploaddir = 'c:/uploads/';  // 請確保目錄存在且可寫
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "上傳成功!\n";
    print_r($_FILES);
} else {
    echo "上傳失敗!\n";
    print_r($_FILES);
}
echo '</pre>';
?>

關鍵函數解析

  • move_uploaded_file():驗證檔案確為 HTTP POST 上傳並移動至目標路徑,是 PHP 4.0.3+ 的核心上傳函數
  • $_FILES['userfile']['tmp_name']:伺服器暫存路徑,請求結束後自動清除
  • basename():防止目錄遍歷攻擊,僅保留檔名

生產環境必加強項

  1. 檔案型別白名單驗證(MIME + 副檔名)
  2. 亂數重命名避免覆蓋與注入
  3. 目錄權限最小化(僅寫入,不可執行)
  4. 錯誤碼 $_FILES['userfile']['error'] 完整處理
  5. 上傳日誌與大小/數量限制

這個範例展示了核心流程,實際專案請依安全規範擴充。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved