2014-01-14 136 views
1

我有一個網站可以上傳多張圖片,問題是我試圖上傳超過20張圖片。 PHP將此選項限制爲20個文件,我想知道在提交圖像之前是否可以上傳圖像,然後開始上傳圖像。提交之前上傳多張圖片

編輯:我檢查了bluimp插件,我想做類似的事情,但與基本代碼。問題是,我不知道起點

EDIT2:我找到了解決辦法,現在我shold調查有關FORMDATA

回答

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); 
} 

就將此編碼這樣,當你想在同一T優可上傳的圖片ime,.. 保持編碼:)

+0

如果PHP文件限制爲20,這個代碼可以上傳50個圖像嗎? – abaracedo

+0

您可以更改php.ini文件的限制.... –

+0

如果我在我的本地主機中工作時,我可以更改它,當我在服務器中我無法修改它:/ – abaracedo

2

你可以很容易地實現這個使用一些jQuery。 Ajax並不難編碼。

但也有不錯的多文件上傳器,如blueimp,它已經提供了一種PHP後端。

+0

謝謝!我會檢查它:) – abaracedo

0

我聽說可以用FormData來做。我從來沒有使用它,但如果你可以調查你將知道

+0

我知道它。我前幾天提出了另一個問題,詢問如何使用FormData進行操作,並找到解決方案。謝謝 – abaracedo