php 批量上传文件

我的程序员人生 2017-01-18

form.php

<html>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">

<label for="file">上传:</label>
<input type="file" name="file[]"/> 
<input type="file" name="file[]"/> 
<input type="submit" name="submit" value="上传" />
</form>

</body>
</html>

 upload.php

//设置上传文件大小限制(单位b)
$max_size=500000;
//设置上传文件的文件格式限制
$format=array("image/jpeg","image/gif","image/png");
//文件上传目录
$dir=dirname(__FILE__) ."/upload/";

//判断上传目录,不存在就创建
if(!is_dir($dir)){
    mkdir($dir,true);
}

//批量上传文件
for($i=0,$j=count($_FILES["file"]["name"]);$i<$j;$i++){
    //被上传文件的名称
    $name=$_FILES["file"]["name"][$i];
    //被上传文件的类型
    $type=$_FILES["file"]["type"][$i];
    //被上传文件的大小,以字节计
    $size=$_FILES["file"]["size"][$i];
    //存储在服务器的文件的临时副本的名称
    $tmp_name=$_FILES["file"]["tmp_name"][$i];
    //由文件上传导致的错误代码
    $error=$_FILES["file"]["error"][$i];
    
    //判断文件大小
    if($size>$max_size){
        exit("文件大小超出最大值");
    }
    //判断文件格式
    if(!in_array($type,$format)){
        exit("无效的文件格式");
    }
     
    //生成文件名
    date_default_timezone_set("PRC");
    $file_name=time().mt_rand(1111, 999999);
    //获取文件格式
    $ext=substr($type, strpos($type, "/")+1);
    
    if($error>0){
        exit($error);
    }else{
        if(move_uploaded_file($tmp_name, $dir.$file_name.".".$ext)){
           //exit("上传成功"); 
        }
    }

}

相关推荐