我正在尝试在我的代码中对文件进行真正基本的重命名。但是,似乎有一些所有权/权限问题阻止了这种正常工作。
这是我的(简化)代码:
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
答案 0 :(得分:0)
执行chmod(0666)
[在服务器上]为所有用户(包括apache)提供写权限
答案 1 :(得分:0)
您必须将该特定目录的读写所有权设置为public-www
。