2013-05-03 69 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