2

我正在尝试在我的代码中将文件重命名为另一个名称。然而,似乎有一些所有权/权限问题正在阻止它正常工作。

这是我的(简化的)代码:

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 是文件的创建者时,它似乎可以工作。但是,当我将所有权更改为“apache”时,它停止工作。PHP/Apache 是否有知道文件创建者是谁的概念?这会阻止 rename() 工作吗?

我现在被这个难住了 - 感谢任何帮助。

谢谢,皮科

4

2 回答 2

0

chmod(0666)[在服务器上]给所有用户(包括apache)写权限

于 2011-04-04T17:12:25.040 回答
0

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

于 2011-04-04T17:15:29.763 回答