PHP上傳檔

在PHP中,只需要通過幾行代碼,就能完成上傳單個和多個檔的處理。

PHP檔上傳功能允許上傳二進位和文本文件。 此外,您可以通過PHP身份驗證和文件操作功能完全控制要上傳的檔。

PHP $_FILES

PHP全局$_FILES包含檔的所有資訊。 在$_FILES全局變數的幫助下,我們可以得到檔案名,檔類型,檔大小,臨時檔案名和與檔相關的錯誤。

這裏,我們假設檔案名是filename。請參考下表 -

變數名稱 描述
$_FILES['filename']['name'] 返回檔案名稱
$_FILES['filename']['type'] 返回檔的MIME類型
$_FILES['filename']['size'] 返回檔的大小(以位元組為單位)
$_FILES['filename']['tmp_name'] 返回存儲在伺服器上的檔的臨時檔案名。
$_FILES['filename']['error'] 返回與此檔相關聯的錯誤代碼。

move_uploaded_file()函數

move_uploaded_file()函數將上傳的檔移動到新位置。 move_uploaded_file()函數在內部檢查檔是否通過POST請求上傳。 如果檔是通過POST請求上傳的,它將移動檔。

語法

bool move_uploaded_file ( string $filename , string $destination )

PHP檔上傳示例

檔:uploadform.html

<form action="uploader.php" method="post" enctype="multipart/form-data">
    選擇上傳的檔:
    <input type="file" name="fileToUpload"/>
    <input type="submit" value="Upload Image" name="submit"/>
</form>

注意:上面代碼中,一定要在 <form> 標籤中添加 enctype="multipart/form-data"屬性,否則PHP代碼無法獲取上傳的檔內容。

檔:uploader.php

<?php
$target_path = "D:/";
$target_path = $target_path.basename( $_FILES['fileToUpload']['name']);

if(move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target_path)) {
    echo "File uploaded successfully!";
} else{
    echo "Sorry, file not uploaded, please try again!";
}
?>

上面示例代碼執行後,應該能在 D:/ 下找到上傳的檔。


上一篇: PHP追加檔 下一篇: PHP下載檔