2016-05-27 46 views
-1

我想多個文件上傳在PHP ..但它不工作 這裏是我的代碼。和鏈路在php中的多個文件上傳不工作在我的服務器

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

Link

<?php  
     if(isset($_FILES['files'])) 
    { 
     $errors= array(); 
     foreach($_FILES['files']['tmp_name'] as $key => $tmp_name) 
      { 
      $file_name = $key.$_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'; 
      }  
      $desired_dir="uploads"; 
      if(empty($errors)==true) 
      { 
       if(is_dir($desired_dir)==false) 
        { 
        mkdir("$desired_dir", 0777); 
        } 
       if(is_dir("$desired_dir/".$file_name)==false) 
        { 
        move_uploaded_file($file_tmp,"$desired_dir/".$file_name); 
        }else 
        { 
        $new_dir="$desired_dir/".$file_name.time(); 
        rename($file_tmp,$new_dir) ;    
        } 

       }else{ 
      } 
     } 
     if(empty($error)){ 
      echo "Success"; 
     } } 
?> 

這裏是上傳代碼。當我選擇多個文件上傳比從服務器沒有任何響應,你可以看到我的鏈接上直播。

+0

安置自己的文件上傳代碼 – Apb

+0

其工作..你對uplaod文件做了什麼? –

+0

顯示處理上傳的PHP代碼 – Darren

回答

0

使用像

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

<?php 
$target_dir = "uploads/"; 
if(isset($_POST)) 
{ 
    if(isset($_FILES["files"]["name"]) && is_array($_FILES["files"]["name"]) && $_FILES["files"]["name"]!= false) 
    {  
     foreach($_FILES["files"]["name"] as $key=>$name) 
     { 
      $target_file = $target_dir . basename($name); 
      $uploadOk = 1; 
      $imageFileType = pathinfo($target_file, PATHINFO_EXTENSION); 
      if (move_uploaded_file($_FILES["files"]["tmp_name"][$key], $target_file)) { 
       echo $_FILES["files"]["name"][$key] . " uploaded <br/>";     
      } 
     } 
    } 

} ?> 

如果您要上傳大文件,那麼請檢查您的php.ini 設置,檢查https://doc.owncloud.org/server/8.0/admin_manual/configuration_files/big_file_upload_configuration.html

+0

此代碼也不工作,當我選擇多個文件.. –

+0

我已測試此代碼,然後將其粘貼到此處,我認爲您正在上傳大文件?你是 ? –

+0

不,我上傳的小圖像文件...它的工作單個圖像,但不是多個..我想問題與我的服務器 –

0

這對我的作品。

  • 確保您的上傳目錄是可寫
  • 你必須創建一個循環的每個文件

upload.php的

<?php 
    // Count # of uploaded files in array 
    $total = count($_FILES['files']['name']); 

    // Loop through each file 
    for($i=0; $i<$total; $i++) { 
     $tmpFilePath = $_FILES['files']['tmp_name'][$i]; 

     if ($tmpFilePath != ""){ 
     $newFilePath = "uploads/" . $_FILES['files']['name'][$i]; 

     //Upload the file into the temp dir 
     if(move_uploaded_file($tmpFilePath, $newFilePath)) { 
      echo 'Upload success!'; 
     } 
     } 
    } 
?> 
<form action="" method="POST" enctype="multipart/form-data"> 
    <input type="file" name="files[]" multiple/> 
    <input type="submit"/> 
</form> 
+0

謝謝..但也不適用於多個文件...我想我必須找到我的服務器設置的解決方案.. –

+0

但這真的適合我。這是一個服務器問題。你必須爲你做一些調整才能完成 – keziah

相關問題