2010-10-19 128 views
0

我在RHEL5/CentOS专用服务器上有一个PHP网站。该网站位于位于/ var/www/html等/测试PHP move_uploaded_file因未知原因失败

我有一个脚本:

/var/www/html/beta/scriptA.php 

它调用了

/var/www/html/beta/code/inc/functions.php 

函数使用move_uploaded_file()以如下的功能:

$status = move_uploaded_file($imagetmp_name,$destinationPath); 

打印这些值显示:

imagetmp_name=/tmp/phpiECxB6 
destinationPath=in_upload/images/907770756_publicpage.jpg 
status=false 

而且我认为他应该因为 'in_upload /图片' 已经存在的工作:

drwxr-xr-x 5 root root 4096 Oct 19 07:40 in_upload 

drwxr-xr-x 2 root root 4096 Oct 19 07:40 images 

我在做什么错?

+0

你可以显示'print_r($ _ FILES);'的结果,'特别是'error'标志吗?此外,尝试启用'error_reporting(E_ALL);'如果它是目标文件夹中的权限问题 – 2010-10-19 11:18:07

+1

另一方面,这是目标文件夹中的权限问题。如果我正确地读取了'drwxr-xr-x',只允许root用户写入它 – 2010-10-19 11:20:16

+0

嘿Pekka /别人 - 我应该从根改为apache吗?我需要为每个我将要写入的文件夹都这样做吗? – siliconpi 2010-10-19 11:28:48

回答

4

您没有编写密码in_upload既不images,只为根。

使用

chmod a+w in_upload 
chmod a+w images 

或更改目录所有者/组给用户,其下是apache的运行。 例如:

chown apache:apache in_upload 
chmod g+w in_upload 
+0

工作就像一个魅力! – siliconpi 2010-10-19 11:44:16