在symfony中用jquery-fileupload接收資料的問題

來源:互聯網
上載者:User
關鍵字 php
用的是symfony架構,用jquery上傳圖片,但是後台接受不到資料。代碼和錯誤提示如下:

        
$(document).ready(function(){    $("#fileupload").fileupload({        dataType: 'json',        done: function (e, data) {            $.each(data.result.files, function (index, file) {                $('

').text(file.name).appendTo(document.body); }); }, progressall: function (e, data) { var progress = parseInt(data.loaded / data.total * 100, 10); $('#progress .bar').css( 'width', progress + '%' ); }, done: function (e, data) { $.each(data.result, function (index, file) { $('

').text(file.name + ' uploaded').appendTo($("body")); }); } }); });

後台代碼如下:

$imgPurpose = trim(stripslashes($_POST["files[]"]));

錯誤提示如下:
Notice: Undefined index: files[]
請問這是怎麼回事呢?多謝了。

回複內容:

用的是symfony架構,用jquery上傳圖片,但是後台接受不到資料。代碼和錯誤提示如下:

        
$(document).ready(function(){    $("#fileupload").fileupload({        dataType: 'json',        done: function (e, data) {            $.each(data.result.files, function (index, file) {                $('

').text(file.name).appendTo(document.body); }); }, progressall: function (e, data) { var progress = parseInt(data.loaded / data.total * 100, 10); $('#progress .bar').css( 'width', progress + '%' ); }, done: function (e, data) { $.each(data.result, function (index, file) { $('

').text(file.name + ' uploaded').appendTo($("body")); }); } }); });

後台代碼如下:

$imgPurpose = trim(stripslashes($_POST["files[]"]));

錯誤提示如下:
Notice: Undefined index: files[]
請問這是怎麼回事呢?多謝了。

簡單回答你的問題如下:

前提:沒用過該jQuery外掛程式,因此只考慮後台代碼

第一、在表單控制項的name屬性值是數組的情況下(末尾加[]),在用PHP擷取該控制項提交的內容時,應該省略[],因此你的代碼應該像下邊這樣:

$_POST["files"]);

第二、你使用$_POST全域變數訪問files,得到的結果是一個PHP數組,因此,不能直接使用字串函數進行處理(這裡暫不討論此處的字串函數)

第三、你使用的是Symfony架構,不應該直接存取$_POST以及其他全域變數!SymfonyHttpFoundation組件已經把這些全域變數抽象為OOP介面了,應該使用Symfony提供的介面。像下邊這樣:(假設你的控制器方法如下)

//...use Symfony\Component\HttpFoundation\Request;// ...public function uploadAction(Request $request){    $imgPurpose = $request->get('files');}// ...

最後,SymfonyHttpFoundation組件功能很強大,以下是其官方文檔的一些相關連結,如果閱讀一遍,會對你使用Symfony架構有很大協助。

  1. Symfony與Http基礎

  2. HttpFoundation組件文檔

備忘:和Symfony相關的問題,請加上Symfony的標籤,這樣對Symfony問題感興趣的答案作者會更容易看到。(輸入內容會自動彈出提示,如)

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.