php多文件上传功能实现原理及代码

yipeiwu_com5年前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>";
}
}
?>

相关文章

PHP设计模式 注册表模式(多个类的注册)

以前我也写过一个注册表类,不过那一个不能进行多个类的注册,下面用数组对类进行了存储。 复制代码 代码如下: <?php //基础类 class webSite {//一个非常简单的...

DOM XPATH获取img src值的query

复制代码 代码如下:$nodes = @$xpath->query("//*[@id='main_pr']/img/@src");$prurl = $nodes->item(...

实例说明js脚本语言和php脚本语言的区别

js脚本语言和php脚本语言的区别是什么? 一句话: js是客户端脚本, 由浏览器执行。 php是服务端脚本, 由php服务执行, php脚本跟shell脚本(bash执行)颇为类似。...

php数组函数序列之array_unique() - 去除数组中重复的元素值

array_unique() 定义和用法 array_unique() 函数移除数组中的重复的值,并返回结果数组。 当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。 返回的...

PHP使用Redis替代文件存储Session的方法

PHP使用Redis替代文件存储Session的方法

本文实例讲述了PHP使用Redis替代文件存储Session的方法。分享给大家供大家参考,具体如下: PHP默认使用文件存储session,如果并发量大,效率非常低。而Redis对高并发...