复制程式
<?
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=