一、概述
在現代Web應用程序中,文件上傳功能是普遍存在的需求。在PHP中,可以使用move_uploaded_file函數來保存上傳文件。本文將詳細介紹如何使用move_uploaded_file函數保存上傳文件。
二、上傳文件
在使用move_uploaded_file函數前,必須獲得上傳文件。可以通過HTML的form表單,在頁面中添加元素來實現。在PHP腳本中,可以使用$_FILES全局數組來獲得上傳文件信息。例如,要獲得名為file的上傳文件的文件名和臨時文件名,可以使用以下代碼:
$filename = $_FILES['file']['name']; $tmpname = $_FILES['file']['tmp_name'];
其中,$filename存儲了上傳文件的原始文件名,$tmpname存儲了伺服器上保存上傳文件的臨時文件名。需要注意的是,上傳文件的大小、類型等信息也可以通過$_FILES數組獲取。
三、保存上傳文件
在獲得上傳文件後,就可以使用move_uploaded_file函數來保存上傳文件。move_uploaded_file函數接受兩個參數,分別是上傳文件的臨時文件名和保存路徑。例如,以下代碼將上傳文件保存在/uploads目錄中:
$dest = '/uploads/' . $filename; move_uploaded_file($tmpname, $_SERVER['DOCUMENT_ROOT'] . $dest);
其中,$dest變數存儲了保存路徑,使用DOCUMENT_ROOT可以獲得網站根目錄的絕對路徑。move_uploaded_file函數將上傳文件從臨時目錄移動到指定目錄中。
四、完整示例代碼
下面是一個完整的文件上傳示例代碼:
<html> <head> <title>文件上傳</title> </head> <body> <form enctype="multipart/form-data" method="POST" action="upload.php"> 選擇一個文件上傳: <input name="file" type="file" /><br /> <input type="submit" value="上傳文件" /> </form> </body> </html>
在上面的代碼中,使用了enctype=”multipart/form-data”來指定表單支持文件上傳,method=”POST”指定表單數據使用POST方法提交到”upload.php”腳本中處理。以下是”upload.php”腳本的示例代碼:
<?php if ($_FILES["file"]["error"] > 0) { echo "上傳錯誤: " . $_FILES["file"]["error"] . "<br />"; } else { // 獲得上傳文件信息 $filename = $_FILES['file']['name']; $tmpname = $_FILES['file']['tmp_name']; // 保存上傳文件 $dest = '/uploads/' . $filename; move_uploaded_file($tmpname, $_SERVER['DOCUMENT_ROOT'] . $dest); echo "上傳成功,保存在: " . $dest . "<br />"; } ?>
在上面的代碼中,首先檢查上傳是否有錯誤,如果有錯誤,輸出錯誤信息。否則,獲得上傳文件信息,保存上傳文件,並輸出保存路徑。
五、總結
本文詳細介紹了如何使用move_uploaded_file函數保存上傳文件。實現文件上傳功能不僅是Web應用程序的常見需求,同時也是PHP工程師必備的技能之一。掌握了本文介紹的知識,可以輕鬆地實現文件上傳功能。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/189189.html