複製程式
<?
if ($act=="upload")
{
for ($i=1;$i<=3;$i++)
{
if ($uploadfile[$i]=="none")
{
echo "第".$i."個檔案沒有選取檔案或超過所限制的上傳檔案大小";
echo "<p>";
continue;
}
echo "第".$i."個檔案的資訊:";
echo "<br>";
echo "儲存在PHP的tmp中的名稱:";
echo "<br>";
echo "$uploadfile[$i]";
echo "<br>";
echo "原本的檔案名稱:";
echo "<br>";
echo "$uploadfile_name[$i]";
echo "<br>";
echo "檔案大小:";
echo "<br>";
echo "$uploadfile_size[$i]"."位元組";
echo "<br>";
echo "檔案類型:";
echo "<br>";
echo "$uploadfile_type[$i]";
echo "<br>";
if (copy($uploadfile[$i],$uploadfile_name[$i]))
{
echo "第".$i."個檔案上傳成功!";
}
else
{
echo "第".$i."個檔案上傳失敗!";
}
echo "<p>";
}
exit;
}
?>
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<?
for ($i=1;$i<=3;$i++)
{
echo "第".$i."個檔案:";
echo "<input type=\"file\" name=\"uploadfile[".$i."]\">";
echo "<br>";
}
?>
<input type="submit" value="開始上傳">
<input type="hidden" name="act" value="upload">
</form>
表單部份: 1.<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
這一行是用來限制上傳檔案的大小,
注意,這一行一定要出現在所有<input type=file ...>之前.
而value是設定大小,單位是位元組(Byte),1MB=1024KB=1024*1024B=1048576B.
上傳的檔案若大於此設定的value,則$uploadfile會等於none.
2.利用for迴圈產生3個<input type=file ...>的檔案上傳元件,
其中name分別為uploadfile[1],uploadfile[2],uploadfile[3],這是利用php中的陣列.
上傳檔案部份:
上傳檔案的程式碼也利用for迴圈的方式,來使3個陣列中的變數名稱上傳,
中間有一段:
if ($uploadfile[$i]=="none")
{
echo "第".$i."個檔案沒有選取檔案或超過所限制的上傳檔案大小!";
echo "<p>";
continue;
}
若上傳的檔案沒有選取或超過限制的大小時,$uploadfile會等於none,
此時就不用處理下面的copy程序,但迴圈卻仍要繼續執行,
於是就使用了continue;來忽略下面的程式碼,重新執行下一個count的迴圈.
如此就能做到一次上傳很多的檔案了!
限制上傳檔案類型部份: 關於這一部份,我在程式碼中沒有做修改,
但只要將$uploadfile拿來判斷即可,如:
if ($uploadfile_type[$i]!="image/pjpeg")
{
echo "你上傳的檔案不是jpg圖檔!";
continue;
}
image/pjpeg可以修改為你所要限制的檔案類型,就可以限制上傳的檔案類型了呀!
轉載自
http://dob.tnc.edu.tw/themes/...php?s=497&t=