2016-03-02 72 views
2

我使用此代碼如何上傳文件到蔚藍的wwwroot文件夾

move_uploaded_file($file_tmp,$us_id.".jpg");

但運行之後,該腳本難道不是錯誤,但文件不會出現到文件夾中,該怎麼做呢?

這些之前,我在localhost測試它的工作。

+0

確保該文件夾可供Web用戶使用? – Epodax

+0

我該如何檢查 –

+0

不知道,從來沒有玩過蔚藍之前 – Epodax

回答

0

編輯基於@大衛的意見,並捻的Azure runtime environment

在雲環境中,將文件保存到您的網站的當前的文件系統,不建議應用。如果您只是通過FTP上傳您的站點,則可能沒有問題,但如果您依賴於Continuous Integration或自動部署方案,則站點文件夾可能會更改或者內容被覆蓋。

這就是爲什麼要存儲未來需要加載的文件或者需要被保存的文件,您可能需要使用類似的Azure Blob存儲。不僅非常便宜,而且可以通過CDN來改善文件傳輸。

以下是如何對use it on PHPAzure SDK for PHP

+0

這不回答OP問的問題:您建議使用blob而不是Web應用程序存儲,以提高耐用性。網絡應用程序有自己的存儲在網絡共享上,在所有正在運行的實例之間共享,並且耐用(我不是指本地臨時存儲)。除非您完全刪除您的網絡應用程序,否則您的存儲空間不會到達任何地方。 'd:\ home \ site'下的所有內容都位於此持久共享上,而不在本地暫存磁盤上。 –

+0

這是不正確的。如果容器出現故障並且新副本佔用它的位置,或者擴大/縮小,則無法共享持久性共享,因此無法依靠上傳進行上傳。 OP詢問爲什麼上傳的文件沒有出現在文件夾中,假設上傳的PHP代碼是正確的(沒有完整代碼的證據),我正在以雲模式解釋,不建議依賴文件系統,因爲提供請求的服務器可能與處理上載的服務器不同,即使他的代碼可能正確,該文件也不能存在。 –

+1

對於Azure Web Apps(以前稱爲Web站點),事實上的確如此。 –

0

您尚未指定$file_tmp包含的內容,但是...在Azure Web App中,根文件夾位於d:\home\site\wwwroot。你會發現%HOME%環境變量設置爲d:\home

0

正如我利用自己在Azure window sever can't upload file from php代碼在我的測試項目,它完美的作品在我身邊,連我自己都不珍惜在代碼中$us_id,畫面依然更新到uploadimg文件夾名稱.jpg

我懷疑你的Web Apps的磁盤空間是否已經達到了你的App Service計劃的限制。

由於每個App Service定價層具有有限的磁盤空間,並將在此App Service計劃中的所有Web應用程序中共享。您可以在Web應用程序門戶的儀表板頁面上查看度量標準,例如 enter image description here

有關詳細信息,請參閱https://azure.microsoft.com/en-us/pricing/details/app-service/

相關問題