PHP執行個體:用PHP實現多檔案上傳系統程式
<?php
//多檔案上傳系統完整版
include("../include/common.inc");
$title = "多個檔案的上傳程式";
include("../include/header.inc");
//定義允許上傳檔案的數目
define("UPLOAD_NO", 10);
echo("<p align='center'><font size='4' color='#000080'>歡迎您!<br>一次可以最多上傳".UPLOAD_NO."個檔案<br><HR>n");
if($REQUEST_METHOD!="POST"){
echo("<form enctype="multipart/form-data" method=post>n");
echo("<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="3000000">n");
for($i=1;$i<=UPLOAD_NO;$i++){
echo("<input type=file name=infile$i> ");
if($i%2==0)
echo("<br>n");
}
echo("<br><br><input type="checkbox" name="overload" value="ON"></font> <font color='#ff0000'>是否覆蓋已經存在的檔案?</font>");
echo("<br><br><input type=submit value=上傳></form>n");
}
else{
//處理上傳
$noinput = true;
for($i=1;$noinput&&($i<=UPLOAD_NO);$i++){
if(${"infile".$i}!="none") $noinput = false;
}
if($noinput){
echo("<font size='4' color='#000080'>沒有選定的檔案,返回重試</font>");
exit();
}
echo("<p align='center'><font size='4' color='#000080'>您選中的檔案已經成功地上傳到伺服器的臨時目錄!</font><br>");
echo("<table border='1' width='84%' height='52' bordercolorlight='#008080' bordercolordark='#008080'>
<tr>
<td width='14%' bgcolor='#008000' height='21'><font color='#FFFFFF'>檔案號</font></td>
<td width='52%' bgcolor='#008000' height='21'><font color='#FFFFFF'>檔案名稱</font></td>
<td width='34%' bgcolor='#008000' height='21'><font color='#FFFFFF'>檔案大小</font></td>
</tr>");
for($i=1;$i<=UPLOAD_NO;$i++){
$just=${"infile".$i."_size"};
$fp_size[i] = $just;
if($overload!=ON){
if(file_exists(AddSlashes(dirname($PATH_TRANSLATED))."\upload\".${"infile".$i."_name"}))
echo "<font size='4' color='#ff0000'>您上傳的檔案<font color='#000000'>".${"infile".$i."_name"}."</font>已經存在,該檔案拷貝失敗!</font><br>";
else{
if(${"infile".$i}!="none"&©(${"infile".$i},AddSlashes(dirname($PATH_TRANSLATED))."/upload/".${"infile".$i."_name"})&&unlink(${"infile".$i})){
$str = ${"infile".$i."_name"};
echo("<tr>
<td width='14%' height='19'>$i</td>
<td width='52%' height='19'>$str</td>
<td width='34%' height='19'>$fp_size[i]</td>
</tr>");
}
}
}
else{
if(${"infile".$i}!="none"&©(${"infile".$i},AddSlashes(dirname($PATH_TRANSLATED))."upload".${"infile".$i."_name"})&&unlink(${"infile".$i})){
$str = ${"infile".$i."_name"};
echo("<tr>
<td width='14%' height='19'>$i</td>
<td width='52%' height='19'>$str</td>
<td width='34%' height='19'>$fp_size[i]</td>
</tr>");
}
}
}
echo "</table>";
}
include("../include/footer.inc");
?>