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:/
下找到上傳的文件。