【问题标题】:Upload folder to server上传文件夹到服务器
【发布时间】:2013-09-27 07:05:54
【问题描述】:

我想将整个文件夹上传到服务器。经过广泛的研究,我发现在输入标签中使用 webkitdirectory 目录。它的工作原理很好,现在它也在从对话框中选择文件夹。但它只显示文件夹中所有文件的列表,它没有将完整文件夹上传到服务器。

我的html代码如下:

 <div class="upload" style="width: 30px; height: 30px; margin-top: -29px; margin-left: 90%; background: url(http://192.168.1.30/sannan/upload.png);">
                <input type="file" name="myfile" id="myfile" onchange="submitForm()" webkitdirectory directory/>

            </div>

我的上传脚本如下:

<?php    
    $output_dir = "upload/"; 
  if(isset($_FILES["myfile"]))
    {
        //Filter the file types , if you want.
        if ($_FILES["myfile"]["error"] > 0)
        {
            echo "Error: " . $_FILES["file"]["error"] . "<br>";
        }
        else
        {
           foreach($_FILES["myfile"] as $file)
        {
            move_uploaded_file($file["tmp_name"],$output_dir. $_FILES["myfile"]["name"]); 
        }
            echo "Uploaded File :".$_FILES["myfile"]["name"];
        }

    }
?>

它只是将文件夹中的第一个文件上传到服务器。我想将包含所有文件和子文件夹的完整文件夹上传到服务器。

【问题讨论】:

  • 我怀疑这在不使用 ajax 或其他东西的情况下是可能的
  • 我想要一个答案,我可以使用我只想将文件夹上传到服务器的所有内容
  • 为什么不使用 ctrl-A 选择所有并上传?
  • @shadow 我想要上传文件夹的要求

标签: javascript php


【解决方案1】:
<?php    
    $output_dir = "upload/"; 
  if(isset($_FILES["myfile"]))
    {
        //Filter the file types , if you want.
        if ($_FILES["myfile"]["error"] > 0)
        {
            echo "Error: " . $_FILES["file"]["error"] . "<br>";
        }
        else
        {
           foreach($_FILES["myfile"] as $file)
        {
            move_uploaded_file($file["tmp_name"],$output_dir. $file["name"]); 
        }
            echo "Uploaded File :".$_FILES["myfile"]["name"];
        }

    }
?>

【讨论】:

  • 在 foreach 循环中你需要使用 $file 而不是 $_FILES["myfile"]
猜你喜欢
  • 2015-02-27
  • 1970-01-01
  • 2011-10-28
  • 2016-05-26
  • 2019-02-20
  • 2017-02-15
  • 2016-12-31
  • 2016-05-29
  • 2016-03-20
相关资源
最近更新 更多