上传多文件

1.在对多文件信息进行操作前,需要构建文件信息,通过buildInfo函数将三维数组转换成便于文件操作的二维数组。
function buildInfo(){
$i = 0;
foreach ($_FILES as $v){
//判断是否是单文件
if(is_string($v['name'])){
$files[$i] = $v;
$i++;
}else{
//多文件
foreach ($v['name'] as $key => $value){
$files[$i]['name'] = $value;
$files[$i]['size'] = $v['size'][$key];
$files[$i]['tmp_name'] = $v['tmp_name'][$key];
$files[$i]['type'] = $v['type'][$key];
$files[$i]['error'] = $v['error'][$key];
$i++;
}
}
}
return $files;
}
单文件和多文件的判断在于文件数组的类型,单文件(二维数组)、多文件(三维数组)。
2.文件上传函数及参数
复制代码 代码如下:
function uploadFiles($path = "uploads", $allowExt = array("jpg", "gif", "png", "wbmp"), $maxSize = 1048576, $imgFlag = true)
path,保存目录。allowExt,允许扩展名数组。maxSize最大上传文件大小。imgFlag,图片文件标识符。
3.判断保存文件的目录是否存在
if(!file_exists($path)){
mkdir($path, 0777, true);
}
4.传入构建好的文件信息,保存到files
$i = 0; $files = buildInfo();
5.判断文件的error类型
foreach ($files as $file){
if($file['error'] == UPLOAD_ERR_OK){
}else{
switch ($file['error']){
case 1:
$mes = "超过配置文件上传文件大小";
break;
case 2:
$mes = "超过了表单设置";
break;
case 3:
$mes = "文件部分被上传";
break;
case 4:
$mes = "没有文件上传";
break;
case 6:
$mes = "没找到临时目录";
break;
case 7:
$mes = "文件不可写";
break;
case 8:
$mes = "由于PHP的扩展程序中断了文件上传";
break;
}
6.限制文件类型
if($file['error'] == UPLOAD_ERR_OK){
$ext = getExt($file['name']);
if(!in_array($ext, $allowExt)){
exit("非法文件类型");
}
7.限制是否为真的图片类型
if($imgFlag){
if(!getimagesize($file['tmp_name'])){
exit("不是真的图片类型");
}
}
8.判断文件大小
if($file['size'] > $maxSize){
exit("文件过大");
}
9.判断文件是否通过post上传
if(!is_uploaded_file($file[‘tmp_name'])){
exit(“文件不是通过HTTP POST上传”);
}
10.重命名文件(唯一且不重复)并保存到目标目录
$filename = getUniName().".".$ext;
$destination = $path."/".$filename;
if(move_uploaded_file($file['tmp_name'], $destination)){
$mes = "文件上传成功";
$file['name'] = $filename;
unset($file['error'], $file['tmp_name']);
$uploadedFiles[$i] = $file;
$i++;
}
重写文件信息数组中的name,删除变量file[‘error']和file[‘tmp_name']。最后将成功上传的文件保存到uploadedFiles数组中。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# php上传多个文件
# php多文件上传例子
# php多文件上传代码
# 简单PHP上传图片、删除图片实现代码
# PHP文件上传实例详解!!!
# 简单的PHP图片上传程序
# PHP 上传文件大小限制
# PHP 图片文件上传实现代码
# php 文件上传实例代码
# php上传文件中文文件名乱码的解决方法
# 两种php实现图片上传的方法
# PHP实现视频文件上传完整实例
# 上传
# 文件上传
# 组中
# 扩展名
# 重写
# 在对
# 过大
# 表单
# 转换成
# 大家多多
# 是否存在
# 不是真的
# 重命名
# 并保存
# 判断是否
# 保存文件
# 超过了
# gif
# move_uploaded_file
# return
相关文章:
魔毅自助建站系统:模板定制与SEO优化一键生成指南
代购小票制作网站有哪些,购物小票的简要说明?
建站ABC备案流程中有哪些关键注意事项?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何用腾讯建站主机快速创建免费网站?
再谈Python中的字符串与字符编码(推荐)
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
建站主机CVM配置优化、SEO策略与性能提升指南
如何快速搭建高效可靠的建站解决方案?
如何做网站制作流程,*游戏网站怎么搭建?
,网站推广常用方法?
韩国服务器如何优化跨境访问实现高效连接?
如何获取开源自助建站系统免费下载链接?
在线制作视频网站免费,都有哪些好的动漫网站?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
孙琪峥织梦建站教程如何优化数据库安全?
自助网站制作软件,个人如何自助建网站?
如何快速上传建站程序避免常见错误?
如何快速搭建高效WAP手机网站吸引移动用户?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
佛山网站制作系统,佛山企业变更地址网上办理步骤?
建站之星代理商如何保障技术支持与售后服务?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
如何快速搭建高效WAP手机网站?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
大同网页,大同瑞慈医院官网?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
建站主机选购指南与交易推荐:核心配置解析
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
购物网站制作公司有哪些,哪个购物网站比较好?
建站之星在线版空间:自助建站+智能模板一键生成方案
如何快速查询网址的建站时间与历史轨迹?
,有什么在线背英语单词效率比较高的网站?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
开源网站制作软件,开源网站什么意思?
模具网站制作流程,如何找模具客户?
如何快速完成中国万网建站详细流程?
焦点电影公司作品,电影焦点结局是什么?
如何快速使用云服务器搭建个人网站?
制作门户网站的参考文献在哪,小说网站怎么建立?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
网站制作话术技巧,网站推广做的好怎么话术?
建站主机选哪家性价比最高?
TestNG的testng.xml配置文件怎么写
清除minerd进程的简单方法
*请认真填写需求信息,我们会在24小时内与您取得联系。