2013-09-27 112 views
0

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

我的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"]; 
     } 

    } 
?> 

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

+0

我怀疑这是可能的,而无需使用AJAX或东西 – FaddishWorm

+0

我想要一个答案,我可以用我的一切只是想上传文件夹服务器 –

+0

你为什么不选择所有使用CTRL-A和上传? – Shadow

回答

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

    } 
?> 
+0

在foreach循环中,您需要使用$ file而不是$ _FILES [“myfile”] –