用PHP實作檔案上傳_PHP教程

WBOY
發布: 2016-07-21 16:11:05
原創
839 人瀏覽過


在WebDev網站上經常看到的一個問題是關於文件上傳的。在這篇文章裡我將解釋如何用PHP實作檔案
上傳。 設計上傳表格

我們主要的目標是完成檔案從本機上傳到伺服器上去。為了做到這一點,我們需要做一個表格
格,允許使用者選擇一個檔案並可以提交它。以下是一個例子:



檔案上傳表格



ACTION=submit.php3
METHOD="POST">
選擇上傳檔案 TD> TYPE="File">
TYPE="submit">




注意表格中的ENCTYPE="multipart/form-data"部分。這個一定不能錯,否則伺服器將不知道你在上
傳遞檔案。

設計上傳程式

現在我們已經完成了前台部分,讓我們再仔細地考慮後台是如何接收文件並保存它到我們指定的目
錄下去。下面就開始用PHP了。這是submit.php3的程式:


If($MyFile != "none") {
copy($MyFile,"/home/berber/$MyFile_name");
unlink($MyFile);
}
else {
echo"你沒有上傳任何文?;
}
?>

不管你信不信,這就是整個處理過程。到指定位置。 🎜>名為一個臨時檔案。 $MyFile_name。 >不想要的檔案。 >是不可能的。更方便呢? 如果你那樣做,那你就會發現你帶
來了一個安全上的漏洞。
那麼有許能阻止我把你的/etc/passwd檔案上傳呢?程式來模擬提交動作...哇嗚...我可以處理你機器上的任何
文件了。 。 "hidden" name="MAX_FILE_SIZE" value="100000">

這個將不允許使用者上傳超過100KB的檔案。

顯示檔案大小

為了顯示檔案大小,可以透過file欄位name屬性值加上"_size"這個變數來存取。在我們的例子中
就是使用$MyFile_size。所以,如果你想告訴使用者上傳檔案的大小,你可以像下面那樣做:

echo "You have just uploaded $MyFile_name";
echo "The size of the file is $MyFile_size" ;

權限

很明顯你需要對目標目錄的寫的權限。如果有使用者用匿語上傳文件,那他的使用者名稱應該是
"bobody"。這個使用者必須有對目標目錄寫的權限否則你可能得到一個像下面的訊息:

Warning: Unable to create '/home/berber/berber.txt':
Permission denied
in /home/berber/submit.php3 on line 5

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314015.htmlTechArticle在WebDev網站上經常看到的一個問題是關於檔案上傳的。在這篇文章裡我將解釋如何用PHP實作檔 上傳。 設計上傳表格 我們主要的目標是完...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板