$_FILES
是一個預定義的全局數組,用于在 PHP 中處理 HTTP 文件上傳。要正確運用 $_FILES
,您需要遵循以下步驟:
enctype="multipart/form-data"
屬性,這樣才能上傳文件。<form action="upload.php" method="post" enctype="multipart/form-data">
選擇一個文件:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="上傳文件" name="submit">
</form>
在 PHP 腳本中處理文件上傳:在處理文件上傳的 PHP 腳本(例如 upload.php
)中,您可以使用 $_FILES
數組來訪問上傳的文件信息。
檢查文件是否已上傳:使用 isset()
函數檢查 $_FILES
數組中的特定元素是否存在。
if (isset($_FILES["fileToUpload"])) {
// 文件已上傳
} else {
// 文件未上傳
}
$_FILES
數組中的鍵來獲取文件的相關信息,如文件名、文件大小、文件類型等。$fileName = $_FILES["fileToUpload"]["name"];
$fileSize = $_FILES["fileToUpload"]["size"];
$fileType = $_FILES["fileToUpload"]["type"];
$fileTmpName = $_FILES["fileToUpload"]["tmp_name"];
$_FILES
數組中的 error
鍵來檢查文件上傳是否成功。error
鍵的值為 0
表示上傳成功。if ($_FILES["fileToUpload"]["error"] == 0) {
// 文件上傳成功
} else {
// 文件上傳失敗
}
move_uploaded_file()
函數將文件從臨時目錄移動到目標目錄。$targetDirectory = "uploads/";
$targetFile = $targetDirectory . basename($fileName);
if (move_uploaded_file($fileTmpName, $targetFile)) {
echo "文件:" . $fileName . " 已經上傳成功。";
} else {
echo "文件上傳失敗。";
}
注意:確保目標目錄具有適當的權限,以便 PHP 能夠將文件移動到該目錄。