2013-09-27 114 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」] –