php apache文件所有权和创建问题

时间:2011-04-04 17:10:42

标签: php apache permissions chmod ownership

我正在尝试在我的代码中对文件进行真正基本的重命名。但是,似乎有一些所有权/权限问题阻止了这种正常工作。

这是我的(简化)代码:

ini_set ("display_errors", "1");
error_reporting(E_ALL);

$St_Num = '7940';
$Co_Code = 'RDCO2';

rename("$St_Num-$Co_Code-1.jpg", "$St_Num-$Co_Code-4.jpg");

这些是我试图更改的文件的权限:

代码:

-rw-r--r-- 1 apache dev   4065 Oct 22 17:57 7940-RDCO2-3.jpg
-rw-r--r-- 1 apache dev   4276 Oct 28 09:39 7940-RDCO2-2.jpg
-rw-r--r-- 1 apache dev   4336 Oct 28 09:39 7940-RDCO2-1.jpg

此代码正常运行,当apache是​​文件的 creator 时,它似乎有效。但是,当我将所有权更改为“apache”时,它停止了工作。 PHP / Apache是​​否有一个知道文件创建者是谁的概念?这会阻止rename()停止工作吗?

我现在对这个感到难过 - 感谢任何帮助。

谢谢, Picco

2 个答案:

答案 0 :(得分:0)

执行chmod(0666) [在服务器上]为所有用户(包括apache)提供写权限

答案 1 :(得分:0)

您必须将该特定目录的读写所有权设置为public-www