php多文件上传功能实现原理及代码
今天对多图片上传功能小小的研究了一下,把下面的代码整理出来,方便以后自己使用以及供大家交流
1、upload.html页面,即先是input type=file的文件:
<html>
<head>
<title></title>
</head>
<body>
<form enctype="multipart/form-data" action="do_upload.php" method="POST">
<!--表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form- data,才能完整的传递文件数据,进行下面的操作.-->
<fieldset>
<legend>图片上传</legend>
第一张图片<input name="userfile" type="file"><br>
第二张图片<input name="userfile" type="file"><br>
第三张图片<input name="userfile" type="file"><br>
第四张图片<input name="userfile" type="file"><br>
第五张图片<input name="userfile" type="file"><br>
<!--数组的形式传递数据-->
<input type="submit" value="Send File">
</fieldset>
</form>
</body>
</html>
2、do_upload.php页面,即处理多文件上传的页面:
<?php
//全局数组$_FILES
//$_FILES['userfile']['tmp_name']文件在web服务器中临时存储的位置
//$_FILES['userfile']['name']用户系统中的文件名称
//$_FILES['userfile']['size']文件的字节大小
//$_FILES['userfile']['type']文件的MIME类型,text/plain,image/gif
//$_FILES['userfile']['error']与文件上载相关的错误代码
?>
<?php
//用for循环来获取传递的数据,是一个三维数据
for ($i=0;$i<count($_FILES['userfile']['tmp_name']);$i++)
{
$upfile=$new_folder."/".$_FILES['userfile']['name'][$i];//此处可以根据自己的需要修改
if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i],$upfile)){
echo "第".($i+1)."张图片上传成功<br>";
}
else{
echo "第".($i+1)."张图片上传不了<br>";
}
}
?>
1、upload.html页面,即先是input type=file的文件:
复制代码 代码如下:
<html>
<head>
<title></title>
</head>
<body>
<form enctype="multipart/form-data" action="do_upload.php" method="POST">
<!--表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form- data,才能完整的传递文件数据,进行下面的操作.-->
<fieldset>
<legend>图片上传</legend>
第一张图片<input name="userfile" type="file"><br>
第二张图片<input name="userfile" type="file"><br>
第三张图片<input name="userfile" type="file"><br>
第四张图片<input name="userfile" type="file"><br>
第五张图片<input name="userfile" type="file"><br>
<!--数组的形式传递数据-->
<input type="submit" value="Send File">
</fieldset>
</form>
</body>
</html>
2、do_upload.php页面,即处理多文件上传的页面:
复制代码 代码如下:
<?php
//全局数组$_FILES
//$_FILES['userfile']['tmp_name']文件在web服务器中临时存储的位置
//$_FILES['userfile']['name']用户系统中的文件名称
//$_FILES['userfile']['size']文件的字节大小
//$_FILES['userfile']['type']文件的MIME类型,text/plain,image/gif
//$_FILES['userfile']['error']与文件上载相关的错误代码
?>
<?php
//用for循环来获取传递的数据,是一个三维数据
for ($i=0;$i<count($_FILES['userfile']['tmp_name']);$i++)
{
$upfile=$new_folder."/".$_FILES['userfile']['name'][$i];//此处可以根据自己的需要修改
if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i],$upfile)){
echo "第".($i+1)."张图片上传成功<br>";
}
else{
echo "第".($i+1)."张图片上传不了<br>";
}
}
?>