繁体   English   中英

PHP多个文件上传脚本不起作用

[英]PHP multiple file upload script not working

这是用于多个上传的html标记。.我要对其进行验证。.1)检查文件是否为5 mb 2)检查文件是否为jpg,gif仅图像文件

<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file[]" multiple="multiple">
<input type="submit" value="upload">
</form>

这是PHP代码

if(!empty($_FILES['file'])){        
    foreach($_FILES['file']['name'] as $key => $name)
    {           
                 if($_FILES['file']['error'][$key] == 0 && move_uploaded_file($_FILES['file']['tmp_name'][$key], "images/{$name}")){

            $uploaded[] = $name;
                 }
    }       
    print_r($uploaded);     
}

现在它只是上传文件而没有任何验证...我想不通wat来检查大小,并检查它是否仅图像类型.....请php专家帮助我

当我尝试使用它时,directyl上传

  if($_FILES['file']['size'][$key] > 5000){
                     echo 'file must be under 5 mb';
                   }else{
                     move_uploaded_file($_FILES['file']['tmp_name'][$key], "images/{$name}")

}

您可以使用: http : //us2.php.net/manual/en/function.exif-imagetype.php来检查图像的类型

大小可以在$ _FILES数组中找到(在大小以下),例如$ _FILES ['file'] ['size'] [$ key]

foreach(...) {
   $fileType = explode(".", $name);
   $fileType = strtolower("." . $fileType[count($fileType)-1]);

   if(!in_array($fileType, array('.gif','.jpg','.jpeg')))
       echo 'Incorrect file type';
   if($_FILES['file']['size'][$key] > 5000)
       echo 'Maximum alowed size is 5MB';

}

正在上传文件,因为您已在此处编写了用于上传的代码

if($_FILES['file']['error'][$key] == 0 && move_uploaded_file($_FILES['file']['tmp_name'][$key], "images/{$name}"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM