在WebDev站點上經常看到的一個問題是關于文件上傳的。在這篇文章里我將解釋如何用PHP實現文件
上傳。 設計上傳表格

我們主要的目標是完成文件從本地計算機上傳到服務器上去。為了 " /> 国产精品欧美久久久久天天影视,国产69精品久久久久无码麻豆,欧洲内射VIDEOXXX3D

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

用PHP實現文件上傳


在WebDev站點上經常看到的一個問題是關于文件上傳的。在這篇文章里我將解釋如何用php實現文件
上傳。 設計上傳表格

我們主要的目標是完成文件從本地計算機上傳到服務器上去。為了做到這一點,我們需要做一個表
格,允許用戶選擇一個文件并可以提交它。下面是一個例子:

<HTML>
<HEAD>
<TITLE>文件上傳表格</TITLE>
</HEAD>
<BODY>
<TABLE>
<FORM ENCTYPE="multipart/form-data" NAME=MyForm
ACTION=submit.php3
METHOD="POST">
<TR><TD>選擇上傳文件</TD><TD><INPUT NAME="MyFile"
TYPE="File"></TD></TR>
<TR><TD COLSPAN="2"><INPUT NAME="submit" VALUE="上傳"
TYPE="submit"></TD></TR>
</TABLE>
</BODY>
</HTML>

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

設計上傳程序

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

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

不管你信不信,這就是整個處理過程。我們在程序中所做的就是:

1. 檢查是否一個文件已經上傳到服務器,通過If($MyFile != "none");
2. 拷貝文件到指定位置。
3. 刪除臨時文件。

當你按下了提交按鈕后,文件將會從你的計算機上傳到服務器的臨時目錄下。在臨時目錄下的文件
名為一個臨時文件。應該使用file字段的name值來訪問它,在這里為$MyFile。真正的文件名使用file
字段的name值加上"_name"來訪問它,在這里為$MyFile_name。使用copy()函數,將臨時文件$MyFile拷
貝到指定目錄下,拷貝后的文件名為$MyFile_name。完成后不要忘了刪除臨時文件,不然你會有許多你
不想要的文件。

設置文件名

一個可能讓程序員睡不著覺的事情就是試圖改變file字段的VALUE屬性的值。并不是很多人知道它
是不可能的。盡管W3C說可以,但實際上,象IE和NETscape都不允許設置VAUE屬性的值。聽上去有點可
笑,為什么我不能設置一個初始值,這樣讓用戶使用起來更方便呢?如果你那樣做,那你就會發現你帶
來了一個安全上的漏洞。可以設想一下,你登錄到我的網站,我可以改變一個表格中的file字段的值。
那么有許能阻止我把你的/etc/passwd文件上傳呢?更進一步的,我不需要你按下提交按鈕,我可先設
置file字段的值,然后通過一段JavaScript程序來模擬提交動作...哇嗚...我可以處理你機器上的任何
文件了。因為這個原因,瀏覽器簡單地把<INPUT>標記中的file字段的VALUE字段給忽略了。

限制文件大小

另一個酷的特性是限制上傳文件的大小選項。只要增加一個<INPUT>標記就可以了:

<INPUT TYPE="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

php技術用PHP實現文件上傳,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 忘忧草在线影院www日本 | 国产亚洲精品久久久999密臂 | 最新 国产 精品 精品 视频 | 一本道综合久久免费 | 日韩1区1区产品乱码芒果榴莲 | 最新中文字幕在线视频 | 伦理片在线线手机版韩国免费观看 | 熟妇少妇任你躁在线无码 | 欧美乱妇15p图 | 国产亚洲欧美高清在线 | 7723手机游戏破解版下载 | 国产又黄又粗又爽又色的视频软件 | 免费看毛片网 | 无人区大片中文字幕在线 | 亚洲免费国产在线日韩 | 青草影院天堂男人久久 | 国语自产视频在线 | 最新国产亚洲亚洲精品视频 | 麻豆高潮AV久久久久久久 | 亚洲AV 中文字幕 国产 欧美 | 午夜亚洲国产理论片二级港台二级 | 摥管专用动态图399期 | 欧美精品做人一级爱免费 | 欧亚一卡二卡日本一卡二卡 | 两性色午夜视频免费国产 | 老师你下面好紧夹死了 | 欧美A级肉欲大片XXX | 深爱激情站 | 制服的微热 | 亚洲手机在线人成视频 | 床伴在线观看免费高清完整泰剧第四集 | 摸董事长的裤裆恋老小说 | 青青草国产精品 | 国产精品青青在线麻豆 | 99在线这精品视频 | 草民电影网午夜伦理电影网 | 主播蜜汁丝袜精品自拍 | 高H内射NP古文 | 99精品国产电影 | 菊地凛子av | 日韩在线av免费视久久 |