繁体   English   中英

php中的多个文件上传在我的服务器上不起作用

[英]multiple file upload in php not working on my server

我想在php中上传多个文件..但它在这里不起作用是我的代码。 和链接

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

关联

    <?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";  
        }  }
?>

这是上传代码。 当我选择多个文件上传时,服务器没有任何响应,您可以在我给定的链接上实时看到。

使用喜欢

<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

这对我有用。

  • 确保您的上传目录是可写的
  • 您必须为每个文件创建一个循环

上传.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>

暂无
暂无

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

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