2017-08-29 118 views
0

我正在做一個上傳表單,並選擇使用jQuery來做到這一點。該文件被上傳,但不是所需的文件夾,所以即時通訊不會正確解析從上傳表單到流程的數據。jQuery提交表單和php

upload.php的

<script> 
$(document).ready(function() 
{ 

var settings = { 
    url: "upload_process.php", 
    method: "POST", 
    allowedTypes:"jpg,jpeg,png", 
    fileName: "myfile", 
    galleryName: "<?php echo $gallery->folder; ?>", 
    multiple: true, 
    onSuccess:function(files,data,xhr) 
    { 
     $("#status").html("<font color='green'>Upload is success</font>"); 
    }, 
    onError: function(files,status,errMsg) 
    {  
     $("#status").html("<font color='red'>Upload is Failed</font>"); 
    } 
} 

$("#mulitplefileuploader").uploadFile(settings); 

}); 
</script> 

upload_process.php

$galleryName = $_POST["galleryName"]; 
$output_dir = "media/images/".$galleryName."/"; 

if(isset($_FILES["myfile"])) { 
    $ret = array(); 
    $error = $_FILES["myfile"]["error"]; 
    { 
     /* Single File */ 
     if(!is_array($_FILES["myfile"]['name'])) { 
      $fileName = $_FILES["myfile"]["name"]; 
      move_uploaded_file($_FILES["myfile"]["tmp_name"], $output_dir . $_FILES["myfile"]["name"]); 
      $ret[$fileName] = $output_dir.$fileName; 
     /* Multiple files */  
     } else { 
      $fileCount = count($_FILES["myfile"]['name']); 
      for($i=0; $i < $fileCount; $i++) { 
       $fileName = $_FILES["myfile"]["name"][$i]; 
       $ret[$fileName] = $output_dir.$fileName; 
       move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName); 
      } 
     } 
    } 
    echo json_encode($ret); 
} 

的文件上傳至媒體/圖像/並不能明白爲什麼$ galleryName沒有設置?

+0

代替'$ gallery-> folder'有一個有效的值,當你運行該代碼? –

+0

是的,我在這裏打印了提供的代碼之上的值,所以對象$ gallery->文件夾中有一個實際值。 – Kingfox

+2

什麼是uploadFile()?一些jquery插件?可能是「galleryName」不是該功能所認可的值,也不是發送到服務器。我的猜測是,如果它是一個插件,可能你必須使用另一個鍵名來添加自定義數據。 –

回答

1

傳遞給腳本的參數似乎不正確。你沒有指定正在使用的確切的jQuery插件,所以下面的例子可能不起作用,但如果是這樣,它應該至少給你一個關於在插件文檔中尋找什麼的好建議

請刪除線

galleryName: "<?php echo $gallery->folder; ?>", 

並與線

enctype: "multipart/form-data", // Upload Form enctype. 
formData: { galleryName: "<?php echo $gallery->folder; ?>" }, 
+0

謝謝!這做了訣竅:)如果有人想知道我使用:http://hayageek.com/jquery-multiple-file-upload/ – Kingfox