2010-04-11 34 views
0

讓我開始說PHP不是我的特長,我通常不願意嘗試使用它,因爲這樣的問題。該代碼在我的本地計算機上在MAMP和我的服務器上工作正常,但不在客戶端服務器上:'(

那麼我想要做什麼,以及 - 從Flash中將圖像保存到服務器上,對嗎?!

我使用的是本網站上描述的方法:http://designreviver.com/tutorials/actionscript-3-jpeg-encoder-revealed-saving-images-from-flash/,但做了一個小改動,以便不用回顯jpg導致瀏覽器在本地下載它,而是執行fwrite和fclose來保存它給服務器

這是我的PHP:

我已經在我的客戶端服務器上運行了一個phpinfo()並且它正在運行5.2.2我的主機正在運行5.2.11我不知道這9個次要版本中是否有很多可以改變?

我也在這裏讀到了另一個問題,其中建議使用sure always_populate_raw_post_data設置爲ON,但在我測試的所有服務器環境中設置爲OFF。我正在使用file_get_contents ('php:// input'),我嘗試過但未能處理圖像。

任何幫助都會被感激地收到,我很高興發佈AS3,但它與我上面鏈接並在本地工作的示例完全相同。據我所知問題在於PHP。

乾杯。

+0

究竟什麼不行?文件沒有被上傳,或者它的名字沒有被傳送? – 2010-04-11 21:12:52

+0

只是一個愚蠢的問題:你檢查了文件的權限? – Eineki 2010-04-11 21:14:56

+0

感謝您的回覆 @Pekka我可以看到被調用的php文件,但文件不會被更新/覆蓋 @Eineki是的,我有775設置在所有我想寫的文件夾/文件上 – jolyonruss 2010-04-12 09:19:17

回答

0

是否有任何理由使用HTTP_RAW_POST_DATA?如果Flash通過POST方法發送文件,則使用$_FILES陣列將會容易得多。不需要fopen/fwrite,因爲這個文件已經被PHP綁定到臨時目錄。您只需使用[move_uploaded_file()][1]即可將其放置在服務器上的任何位置。

+0

感謝馬克,我使用它的原因是因爲這就是我發現的例子,因爲它在本地工作我沒有理由懷疑它的能力 使用$ _FILES我可以傳遞一個參數move_uploaded_file設置名稱在文件移動? – jolyonruss 2010-04-13 09:44:45

+0

這正是它的工作原理。 'move_uploaded_file(source,destination)',在你的情況下它會是'move_uploaded_file($ _ FILES ['nameofuploadfield'] ['tmp_name']'/some/directory/on/the/server/name_of_file.html')' – 2010-04-13 17:16:33

+0

我很漂亮帷幕我已經找出問題所在,客戶端主機是一個蹩腳的共享事務,並且php.ini中的「max_input_time」設置爲-1 – jolyonruss 2010-04-15 09:08:47

相關問題