在提交之前上传多个图像

时间:2014-01-14 10:34:22

标签: php image forms

我有一个网站,我可以上传多个图片,问题是当我尝试上传超过20张图片时。 PHP有这个选项限制为20个文件,我想知道是否可以在提交之前上传图像,然后开始一对一上传图像。

编辑:我检查了bluimp插件,我想做一些类似但基本代码的东西。问题是我不知道起点

EDIT2:我找到了解决方案,现在我对FormData

进行调查

3 个答案:

答案 0 :(得分:2)

您可以使用一些jQuery轻松实现此目的。 Ajax并不难编码。

但也有很好的多文件上传器,如blueimp,它已经提供了一种PHP后端。

答案 1 :(得分:0)

您可以一次轻松上传多个文件,以下是我与您分享的工作示例....

<td valign="top">
      <input type="file"  id="paglink" maxlength="80" style="width:230px" name="files[]" multiple>

 </td>

并在数据库页面中,......

<?php
if(isset($_FILES['files'])){
  $errors= array();
  foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
    $file_name = $_FILES['files']['name'][$key];
    $file_size =$_FILES['files']['size'][$key];
    $file_tmp =$_FILES['files']['tmp_name'][$key];
    $file_type=$_FILES['files']['type'][$key];  
      if($file_size > 2097152){
        $errors[]='File size must be less than 2 MB';
      }     
      //$query="INSERT into upload_data (`USER_ID`,`FILE_NAME`,`FILE_SIZE`,`FILE_TYPE`) VALUES('$user_id','$file_name','$file_size','$file_type'); ";
      $desired_dir="images/gallery";
    if(empty($errors)==true){
       if(is_dir($desired_dir)==false){
            mkdir("$desired_dir", 0700);        // Create directory if it does not     exist
        }
        if(is_dir("$desired_dir/".$file_name)==false){
            move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
        }else{                                  //     rename the file if another one exist
            $new_dir="$desired_dir/".$file_name.time();
             rename($file_tmp,$new_dir) ;               
        }
    // mysql_query($query);         
    }//else{
       //   print_r($errors);
    //}
}
//if(empty($error)){
    //echo "Success";
//}
}
?>
<?php
$b=$_FILES['files']['name'];

$cc=implode (",",$b);
$bb=explode (",",$cc); 



$f=$_POST['date'];
$et=$_POST['event_title'];
$ed=$_POST['event_date'];
$ed1=$_POST['event_date1'];


$j=$_POST['status'];

    $showon=$_POST['showon'];
for ($i = 0; $i < count($bb); $i++) {

 $pp= $bb[$i];



$insert="insert into gallery set      image='$pp',date='$f',event_title='$et',event_date='$ed',event_date1='$ed1',status='$j',sho    wonpage='$showon'";

$res=mysqli_query($con,$insert);
}

只需应用此编码,您就可以一次上传任意数量的图片,.. 继续编码:)

答案 2 :(得分:0)

我听说可以用FormData做到这一点。我从未使用它,但如果你可以调查你会知道