我试图做一个真正基本的文件重命名为另一个名字在我的代码。然而,似乎有一些所有权/权限问题正在阻止此正常工作。
这是我的(简化)代码:
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()工作吗?
我现在被这个难住了,任何帮助都很感激。
谢谢,山顶
do chmod(0666)
[在服务器上]赋予所有用户(包括apache)写权限
必须将该特定目录的读写所有权设置为public-www
。