2010-09-09 53 views
1

好吧,我希望這將是我關於動態文件上傳的一系列Q中的最後一個問題。

我正在使用AjaxFileUpload Plugin並嘗試使用我的uploader.php中的FORM數據。問題是$_POST$_FILES都是NULL。

這是我的HTML代碼:

<form id="uploadForm" enctype="multipart/form-data" action="" method="POST"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> 
    <input type="hidden" name="current_path" value="<?php echo $fb->relative_url; ?>" /> 
    <input id="uploadFile" name="uploadFile" type="file" /> 
    <input type="button" class="button uploadImage" value="<?php _e('Upload File') ?>" /> <br /> 
    </form> 

這是我的JS腳本:

//File upload 
    jQuery('.uploadImage').live('click',function() { 
    ajaxFileUpload(); 
    }); 

    (...) 

    function ajaxFileUpload() { 
    jQuery.ajaxFileUpload ({ 
     url:'../wp-content/plugins/wp-filebrowser/uploader.php', 
     secureuri:false, 
     fileElementId:'uploadFile', 
     dataType: 'json', 
     success: function (data, status) { 
      alert('Error: ' + data.error + ' - Respons: ' + data.respons) 
     }, 
     error: function (data, status, e) { 
      alert('Error: ' + e); 
     } 
     } 
    ) 
    return false; 
    } 

爲了測試我的數據是submited,我有以下的PHP代碼:

$data['error'] = $_POST['current_path']; // Gives me NULL 
    $data['respons'] = $_FILES['uploadFile']['name']; // Gives me NULL 

    // Return result in json 
    echo json_encode($data); 

UPDATE

經過Pekka的非常好的幫助(用他的眼睛),我已經得到它的工作!代碼用正確的代碼更新。

回答

3

要分配

fileElementId:'uploadFile', 

,但你的文件中的字段沒有實際上有一個ID。

而且你的PHP腳本應該在

$_FILES["uploadFile"]["name"] 
+0

好斑點!我添加了ID,但仍然得到相同的結果:( – Steven 2010-09-09 11:30:09

+0

@準備什麼'print_r($ _ POST)'產生? – 2010-09-09 11:32:34

+0

@Steven此外,更重要的是,它不應該是'$ _FILES ['uploadFile'] [''名字'];'? – 2010-09-09 11:33:08