使用PHP上傳程序配置網(wǎng)頁上的文件上傳功能
如果您想在自己的網(wǎng)站頁面實(shí)現(xiàn)文件上傳功能,本文為您介紹通過PHP上傳程序配置網(wǎng)頁上的文件上傳功能的方法。
前提條件
已安裝FileZilla客戶端。您可以單擊FileZilla官網(wǎng)下載FileZilla客戶端。
本文以FileZilla 3.59.1版本為例,請(qǐng)您以實(shí)際使用的FileZilla版本頁面顯示為準(zhǔn)。
背景信息
本文提供的PHP上傳程序?qū)儆趯?shí)現(xiàn)網(wǎng)頁文件上傳功能的一種簡單樣例,包含php-upload.htm和php-upload.php兩個(gè)文件。您也可以參考該樣例中的代碼編寫自己的PHP上傳程序,配置網(wǎng)頁中不同風(fēng)格的文件上傳功能。
使用限制
本文僅適用于Linux操作系統(tǒng)云虛擬主機(jī)。
本示例中網(wǎng)站頁面支持上傳的文件大小小于50 KB。
本文上傳的測試文件不支持中文命名形式,建議該文件采用英文形式進(jìn)行命名。
操作步驟
打開代碼編輯器(例如EditPlus)。
說明您也可以根據(jù)自己的編程習(xí)慣選擇其他代碼編輯器。
分別復(fù)制如下示例代碼并保存為php-upload.htm和php-upload.php文件。
重要保存文件時(shí),請(qǐng)您選擇編碼格式為ANSI格式,否則會(huì)引起亂碼情況,如下圖所示。
php-upload.htm文件的參考示例如下所示:
<html> <body> <form action="php-upload.php" method="post" enctype="multipart/form-data"> <label for="file">文件名稱:</label> <input type="file" name="file" id="file" /> <input type="submit" name="submit" value="上傳文件" /> </form> </body> </html>
php-upload.php文件的參考示例如下所示:
<?php if ($_FILES["file"]["size"] < 50000) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists($_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], $_FILES["file"]["name"]); echo "Stored in: " . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?>
使用FileZilla連接云虛擬主機(jī)。
具體操作,請(qǐng)參見使用FileZilla管理文件。
創(chuàng)建任意目錄(例如test),用于存放php-upload.htm和php-upload.php文件。
在云虛擬主機(jī)站點(diǎn)根目錄/htdocs下的空白位置,右鍵單擊鼠標(biāo),單擊創(chuàng)建目錄(C),創(chuàng)建任意目錄(例如test)。
在創(chuàng)建目錄對(duì)話框中,請(qǐng)輸入將要?jiǎng)?chuàng)建的目錄名(例如/htdocs/test),單擊確定(O)。
設(shè)置新建目錄的讀取、寫入和執(zhí)行權(quán)限。
右鍵單擊test目錄后,單擊文件權(quán)限(F)。
在改變文件屬性頁面,選中所有讀取、寫入和執(zhí)行權(quán)限后,單擊確定(O)。
文件的權(quán)限設(shè)置如下圖所示:
選擇本地主機(jī)上保存的php-upload.htm和php-upload.php文件,通過FileZilla上傳到剛才創(chuàng)建的test目錄中。
在瀏覽器中訪問
http://您的域名/test/php-upload.htm
,如下圖所示。單擊選擇文件,在彈出的對(duì)話框中選擇您需要上傳的測試文件。
說明本步驟以testfile.txt測試文件為例,您也可以選擇其他類型的文件進(jìn)行上傳測試。
單擊上傳文件。
本示例中文件上傳成功如下圖所示,頁面會(huì)顯示上傳的文件名稱、文件類型以及文件大小等信息。您可以在網(wǎng)站目錄/htdocs/test中查看到已上傳的testfile文件。
說明文件上傳過程中,在PHP的臨時(shí)文件夾會(huì)創(chuàng)建一個(gè)上傳文件的臨時(shí)副本,該臨時(shí)副本會(huì)在程序運(yùn)行結(jié)束時(shí)消失,并且會(huì)被自動(dòng)保存在網(wǎng)站目錄/htdocs/test中。