2010-03-06 51 views
2

我試圖在我的網頁中實現SwfUpload,並且我使用php來將文件保存在服務器上。這是我第一次使用這個組件,我選擇從SwfUpload團隊(http://swfupload.org/forum/generaldiscussion/214)建議運行該算法:我已經把它放在一個文件中,並且我已經說過該控件將它用作代碼文件。PHP和SwfUpload

它沒有用,因爲我在尋求幫助,但真正讓我發瘋的是我真的不知道如何調試這些東西!對文件的請求被封裝到Flash對象中,如果出現問題,我無法從中獲得任何反饋。

任何人都比我更有經驗這個控制?

感謝

回答

1

一兩件事你可以做,如果一切都失敗了就是讓upload.php的追加到一個日誌文件的調試信息。例如:file_put_contents("swfupload.log", print_r($_REQUEST, 1), FILE_APPEND);

關於swfupload,你需要了解的唯一棘手的事情是,閃存組件使用不同的cookie jar(出於安全原因)運行,所以你需要手動告訴它(通過flash參數)您當前在服務器上擁有的session_id,所以當它使http請求爲upload.php時,它會在$_GET param中傳遞該session_id,並且php腳本將使用該特定ID開始會話:session_start($_GET['SESSION_ID']);。從那時起,upload.php的行爲就像任何其他可用的會話數據的PHP代碼一樣。你得到$_FILES,將它們移動到它們各自的文件夾,將它們保存在數據庫中,就是這樣。

0

好SWFUpload的需要將文件上傳到一些腳本,這樣你就可以基於接收到的數據是腳本中記錄到文件...

0

哦,這是一個痛苦的調試。

獲取腳本輸出的一種方式(可能是一些您無法登錄的致命錯誤或某些內容)是使用像fiddler這樣的代理來顯示所有http流量。

使用代理有時很難獲得Flash。即使您使用其他瀏覽器,也可能需要在IE中配置代理。