php封装一个多文件上传
来源:互联网 发布:nga宁芙淘宝店地址 编辑:程序博客网 时间:2024/06/06 12:28
php多文件上传其实和单文件上传差不多,就是加个for循环就好了
废话不多少上代码
html 页面
<html><head> <title>文件上传</title> <meta charset = "utf-8"/></head><body> <form action = "linkUpload.php" method = "post" enctype ="multipart/form-data"> <input type = "file" name = "file[]"/><br/> <input type = "file" name = "file[]"/><br/> <input type = "file" name = "file[]"/><br/> <input type = "submit" value ="提交"/> </form> </body></html>
封装的多文件的方法(要存到一个新的路径中)
<?php/**封装一个多文件上传*@prame string $key*@prame string $path*@prame int $maxSize*@prame array $allowMime*@prame array $type*@prame bool $isFilename*@auther wulei*/function moreload($key,$path ,$maxSize,$allowMime,$type,$isFilename){ for($i=0;$i<count($_FILES[$key]['name']);$i++){ //判断错误信息 if($_FILES[$key]['error'][$i]){ switch($_FILES[$key]['error'][$i]){ case 1: $str = "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。"; break; case 2: $str = "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值."; case 3: $str = ",文件只有部分被上传。 "; break; case 4: $str = "没有文件被上传。"; break; case 6: $str = "找不到临时文件夹"; break; case 7: $str = "文件写入失败。"; break; } return [0,$i,$str]; } //判断文件大小 if($_FILES[$key]['size'][$i]>$maxSize){ return [0,'文件超过最大限制']; } //判断mime类型 if(!in_array($_FILES[$key]['type'][$i],$allowMime)){ return [0,'没有符合的mime类型']; } //判断文件的后缀 $info = pathinfo($_FILES[$key]['name'][$i]); var_dump($info); $sub = $info['extension']; if(!in_array($sub,$type)){ return [0,'没有符合的文件名后缀']; } //文件名是否为随机 if($isFilename){ $name = uniqid().'.'.$sub; }else{ $name = $_FILES[$key]['name'][$i]; } //拼接路径 $newpath = rtrim($path,'/').'/'.date('Y/m/d').'/'; //判断不存在就创建文件 if(!file_exists($newpath)){ mkdir($newpath,0777,true); } //判断文件是否上传成功 if(is_uploaded_file($_FILES[$key]['tmp_name'][$i])){ if(move_uploaded_file($_FILES[$key]['tmp_name'][$i],$newpath.$name)){ echo '上传成功'; $arr[] = [1,$newpath.$name]; }else{ return [0,'上传失败']; } }else{ return [0,'文件不存在']; } } return $arr;}
传入到数据库中
<?phpinclude 'moreUpload.php';include 'common.php';$data = moreload('file','image',pow(1024,2)*2,[ 'image/png','image/jpeg','image/gif','image/wbmp' ],['png','jpg','jpeg','jpe','pjpeg','gif','wbmp','bmp'],true);for($i=0;$i<count($data);$i++){ if($data[$i][0]){ $date['img_path'.$i] = $data[$i][1]; }} insert($link,'image',$date);
阅读全文
0 0
- php封装一个多文件上传
- PHP上传文件封装
- PHP文件上传类封装
- PHP实现单文件上传、多个单文件上传、多文件上传的过程化封装
- PHP文件上传操作和封装
- php使用upload封装类上传文件
- PHP封装成类(文件上传)
- jQuery+php上传一个文件
- PHP单文件上传原理及上传函数的封装
- PHP单文件、多个单文件、多文件上传函数的封装
- android 多文件上传封装
- php多文件上传`
- php 多文件上传
- php多文件上传
- php多文件上传
- php多文件上传
- php 多文件上传
- php 多文件上传
- 44-45-函数参数的秘密
- 如何在word中的方框里打钩
- ATOM下的C\C++编译
- Webpack执行命令参数详解
- DFS-lintcode解法总结
- php封装一个多文件上传
- linux命令--useradd userdel usermod
- git教程
- JAVA知识点梳理第四部分——Swing控件
- jenkins(一)jenkins+maven+git (配置)构建前准备
- 习题二
- python学习:程序解决方案
- 看完这个,css中position的绝对定位相对定位就懂了
- 节点1检查