文件上傳是 Web 開發常見需求。下面是一個最簡單的 PHP 上傳示例,包含 HTML 表單與後端處理邏輯:
<form enctype="multipart/form-data" action="" method="post">
上傳路徑:<input type="text" name="choose" size="50" /><br /><br />
選擇文件:<input type="file" name="upfile" size="40" />
<input type="submit" value="上傳文件" />
</form>
關鍵點:enctype="multipart/form-data" 是文件上傳的必要屬性。
<?php
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $_POST['choose'])) {
echo "文件上傳成功";
} else {
if ($_FILES['upfile']['error'] != 0) {
echo "上傳失敗,錯誤碼:" . $_FILES['upfile']['error'];
}
}
?>
⚠️ 警告:此示例存在嚴重安全風險——
$_POST['choose']),可能導致任意文件寫入mime_content_type() 與副檔名雙重檢查.htaccess 或 Nginx 規則php.ini 設置 upload_max_filesize、post_max_size;代碼層面再次校驗UPLOAD_ERR_* 常量的用戶提示HTML5 multiple 屬性配合 $_FILES 數組遍歷可實現批量上傳;大文件上傳建議使用 jQuery File Upload 等成熟庫,支持分片、斷點續傳、進度顯示。
文件上傳看似簡單,實則是安全攻防前線。務必遵循「最小權限、白名單驗證、隔離存儲」原則,切勿將練習代碼直接用於生產環境。