2013-05-03 102 views
2

我知道這已經被問了很多,但我看了解其他問題的所有解決方案,但都沒有工作。無法移動上傳的文件

我基本上只是使用此:

move_uploaded_file($_FILES["photo"]["tmp_name"],"uploads/" . $_FILES["photo"]["name"]); 

與圖像從POST請求到來英寸POST請求工作正常。

我已經試過:CHMOD -R 755CHMOD -R 777(這一直是答案這麼多其他問題到目前爲止,我已經看到了),但他們不改變錯誤:

Warning: move_uploaded_file(uploads/myImage.png) [function.move-uploaded-file]: failed to open stream: Permission denied in /Users/Sites/r/add.php on line 16

+1

您使用IIS嗎? – 2013-05-03 16:44:36

+0

@MarceloRodovalho根據路徑,它是一個基於Unix的操作系統。 – str 2013-05-03 16:46:13

+0

文件夾「uploads」存在嗎? – 2013-05-03 16:47:00

回答

0

德國PHP.net指出:

If safe mode is activated, PHP checks if the files/directories have the same UID (owner) as the script itself.

來源:http://php.net/manual/de/function.move-uploaded-file.php

而且,你在設置文件夾以及目標文件夾?

+0

哈哈我評論過這個,幸運的是,這不是一個愚蠢的錯誤。你可以用'ini_get('safe_mode')'檢查PHP是否以安全模式運行。 – 2013-05-03 16:53:07

+0

@亞當,我只是將臨時文件夾設置爲CHMOD 777,但仍然是同樣的問題? – 1andsock 2013-05-03 17:03:12

+0

您可以嘗試更多地指定相對路徑,例如如果你的'/ uploads /'在'/ Users/Sites/r/uploads /'中,請替換''uploads /'。 $ _FILES [「photo photo」] [「name」]'''./uploads/「。 $ _FILES [ 「照片」] [ 「名稱」]'?如果這也不起作用,請在終端中輸入'/ Users/Sites/r /',輸入'ls -la'併發布輸出。 – Appleshell 2013-05-03 17:19:07