2016-05-27 2 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

Смежные вопросы