2010-11-16 31 views
4

我與GoDaddy的共享主機帳號這是一個Windows Server和我正在嘗試上傳的文件時,這個錯誤:不能上傳文件在IIS

Warning: move_uploaded_file(D:\Hosting\6903\html\pdfs\ALDOmypdfAP.pdf) [function.move-uploaded-file]: failed to open stream: Permission denied in D:\Hosting\6903\html\back.php on line 436 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'D:\Temp\php\php98C.tmp' to 'D:\Hosting\6903\html\pdfs\ALDOmypdfAP.pdf 

我聽說,我可以設置我的php.ini文件來改變它立即上傳到的目錄,這將工作,但我無法訪問我的php.ini文件。

我試圖在我的目錄的根目錄下創建自己的php.ini文件,並導致各種各樣的問題,例如找不到正確的MySQL配置文件,goDaddy對此的支持是刪除自定義php .ini文件,可笑,我知道。

我曾嘗試使用的ini_set這樣

ini_set('upload_tmp_dir', 'D:/Hosting/6903/html/pdfs/'); 

但一直沒有取得任何效果。我在這裏還有其他選擇嗎?謝謝!

最新消息:來自科達八進制的權限讀取目標目錄的777。

+0

如果這個問題沒有解決請讓他們休息一下託管。我有一些其他的託管服務提供商的錯誤,並得到了重置的主機,並得到解決。 – Sudantha 2010-11-21 14:19:38

回答

4

據我所知,您需要專門給您正在嘗試寫,否則將無法在文件夾上IUSR_MACHINENAME帳戶寫權限。我不知道Coda是什麼,但它可以讓你爲特定用戶設置權限嗎?

+0

是的我可以,謝謝你的建議,我會試試這個,讓你知道它是怎麼回事 – 2010-11-22 16:21:41

+0

Coda不會讓我改變所有者或組它說錯誤5:無法識別的錯誤號,我會嘗試從Windows機器上做到這一點(現在在mac上) – 2010-11-24 03:26:34

+1

謝謝!我一直堅持這個年齡:) – 2010-11-24 03:52:12

0

的問題可能來自於最終目的地目錄以外的臨時目錄更多。

通常,如果文件根本無法上傳,$_FILES['yourfile']['error']將被設置爲UPLOAD_ERR_CANT_WRITE(7)。從錯誤消息中,它告訴我們問題是move_uploaded_file既不能從臨時目錄讀取(不太可能),也不能寫入目標目錄(很可能)。

檢查,也許嘗試改變在目標目錄的權限。

2

有類似的問題。

通過給所有權限到用戶組「認證用戶」固定它。

我花了幾個小時才意識到它。這篇文章給了我一些提示。

我希望我的分享能幫助別人。

+0

這節省了我的培根:) – Hackmodford 2014-03-04 19:08:05

0

@Talha - 「給予所有權限的用戶組‘認證用戶’修復它」。這是唯一有效的解決方案。沒有其他解決方案即。授予IIS_USR,NETWORK用戶權限等沒有任何工作。

感謝您的解決方案

0

也許這可以幫助...

  1. 找到並打開PHP。INI在PHP文件夾(在我的情況c:\Program files(86)\PHP)搜索upload_tmp_dir

  2. ,並做了兩個posibilities

--Posibility 1

3.1的一個設置upload_tmp_dir = "[Some folder with full permission for IUSR user]"

--Posibility 2

3.2在Windows資源管理器對於在upload_tmp_dir設置好的文件夾搜索(在我的情況C:\WINDOWS\Temp

3.2.1右鍵點擊C:\WINDOWS\Temp - >屬性 - >安全 - >編輯按鈕 - >添加,然後添加IUSR用戶併爲此設置完全權限 - >接受按鈕。

我認爲這可以幫助某人。