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);
原创粉丝点击