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


Posted in PHP onApril 18, 2013

今天对多图片上传功能小小的研究了一下,把下面的代码整理出来,方便以后自己使用以及供大家交流
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 is_dir() 判断给定文件名是否是一个目录
May 10 PHP
php设计模式之命令模式的应用详解
May 21 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
php生成随机颜色方法汇总
Dec 03 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
php延迟静态绑定实例分析
Feb 08 PHP
php数组键值用法实例分析
Feb 27 PHP
各种快递查询--Api接口
Apr 26 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
PHP单例模式模拟Java Bean实现方法示例
Dec 07 PHP
PHP中命名空间的使用例子
Mar 22 PHP
PHP数组与字符串互相转换实例
May 05 PHP
php实现多张图片上传加水印技巧
Apr 18 #PHP
基于initPHP的框架介绍
Apr 18 #PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 #PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 #PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
Apr 15 #PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
Apr 15 #PHP
关于PHP递归算法和应用方法介绍
Apr 15 #PHP
You might like
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
5款适合PHP使用的HTML编辑器推荐
2015/07/03 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
Mootools 1.2教程 类(一)
2009/09/15 Javascript
理解 JavaScript 预解析
2009/10/25 Javascript
EXT中xtype的含义分析
2010/01/07 Javascript
JavaScript 语言的递归编程
2010/05/18 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
关于JS解构的5种有趣用法
2019/09/05 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
Python文件和目录操作详解
2015/02/08 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
妇女工作先进事迹
2014/08/17 职场文书
对学校的意见和建议
2015/06/04 职场文书
公诉意见书范文
2015/06/05 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python
MySQL 全文索引使用指南
2021/05/25 MySQL
JS中如何优雅的使用async await详解
2021/10/05 Javascript
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android
Redis实现一个账号只能登录一个设备
2022/04/19 Redis