2012-08-17 74 views
1

我已經將pluploader添加到我的PHP頁面並且Im成功上傳。在同一頁面上,我有一個表單,在人們上傳了一些文件後,我在頁面上提交。我希望上傳者在表單末尾添加隱藏字段,併爲每個上傳的文件指定文件名。我設法得到這一半的腳本與此工作頁面plupload在PHP中上傳後獲取文件名稱

  uploader.bind('FileUploaded', function(up, file, info) { 
      var obj = JSON.parse(info.response); 
      $('form#quoteRequest').append('<input type="hidden" name="file_name" value="' + obj.cleanFileName + '" />'); 
     }); 

這似乎是增加隱藏字段的形式結束,但沒有文件名上。也許有人知道這裏發生了什麼。我一直在砍和改變的東西,但似乎沒有得到上傳的文件名。我真的不知道自己在做什麼,在學習PHP的早期階段非常瞭解,這有點高於我的頭,但我迫切需要一個好的跨平臺上傳器,這似乎是一個好主意。

非常感謝您的協助。 http://www.plupload.com/

+0

是plupload完成返回obj中上傳後的文件名?做一個console.log(OBJ);找出答案。您可能需要更改plupload腳本以啓用此功能。 – Waygood 2012-08-17 14:59:25

回答

7

在upload.php的最後一行需要讀取如下

模具(「{ 」jsonrpc「: 」2.0「, 」結果「:{ 」cleanFileName「 約plupload

信息: 「'。$ fileName。'」},「id」:「id」}');

一旦完成,Plupload不會自動傳回文件名。

+0

對不起,在我的例子中,你將不得不使用obj.result.cleanFileName – Waygood 2012-08-17 15:08:15

+2

討厭...手動生成json。如果$ filename包含一個json-metachar? Boom去json。使用數組和json_encode並消除該問題。 – 2012-08-17 15:19:21

+1

這是對已有內容的改編。它的Pluploads代碼,不是我的! – Waygood 2012-08-17 16:19:32

2

到文件名中結合上述功能比工作對我來說是

uploader.bind('FileUploaded', function(up, file, info) { 
    var obj = JSON.parse(info.response); 
    $('form#quoteRequest').append('<input type="hidden" name="file_name" value="' + obj.result.cleanFileName + '" />'); 
    //note obj.result.cleanFileName instead obj.cleanFileName 
});