在PHP中,$_FILES
是一個預定義的全局數組,用于存儲有關上傳文件的信息。要讀取$_FILES
中的數據,您可以直接訪問數組中的元素。以下是一個簡單的示例,說明如何讀取和處理上傳的文件:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['uploaded_file'])) {
// 獲取上傳文件的臨時路徑
$temp_path = $_FILES['uploaded_file']['tmp_name'];
// 獲取上傳文件的名稱
$file_name = $_FILES['uploaded_file']['name'];
// 獲取上傳文件的大小(字節)
$file_size = $_FILES['uploaded_file']['size'];
// 獲取上傳文件的類型
$file_type = $_FILES['uploaded_file']['type'];
// 獲取上傳文件的錯誤代碼
$file_error = $_FILES['uploaded_file']['error'];
// 檢查是否有錯誤
if ($file_error == UPLOAD_ERR_OK) {
// 生成一個唯一的文件名
$unique_file_name = uniqid() . '_' . basename($file_name);
// 設置上傳文件的保存路徑
$upload_path = 'uploads/' . $unique_file_name;
// 將上傳的文件移動到指定的路徑
if (move_uploaded_file($temp_path, $upload_path)) {
echo '文件上傳成功!';
} else {
echo '文件上傳失敗!';
}
} else {
echo '文件上傳錯誤:' . $file_error;
}
} else {
echo '沒有選擇上傳文件。';
}
?>
在這個示例中,我們首先檢查請求方法是否為POST,并檢查$_FILES
數組中是否存在名為uploaded_file
的元素。然后,我們分別獲取上傳文件的臨時路徑、名稱、大小、類型和錯誤代碼。接下來,我們檢查是否有錯誤,如果沒有錯誤,我們生成一個唯一的文件名,設置上傳文件的保存路徑,并將上傳的文件移動到指定的路徑。最后,我們輸出相應的結果。