我正在尝试为我一直在努力的系统编写安装脚本。该脚本将一些默认文件从一个位置复制到另一个位置,并为它们创建各种文件夹。我有一点点工作,但唯一的问题是,当我通过FTP登录时,我无法编辑或删除PHP为我移动的文件。PHP文件权限...让它“写”?
如果我通过终端我可以高兴地“命令搭配chmod -R 777 [DIR]”登录名和问题消失了,所以问题是:
我缺少的是在PHP结束了吗?
我的权限功能如下:
function set_permissions($file)
{
if (file_exists($file)):
chmod($file,0777);
endif;
}
我知道这是不是100%比较理想的权限设置为777,但我只是想实现的是能够通过FTP来编辑文件的结果,在PHP将它们移动给我之后。
希望我已经清楚了。现在,这是我百思不得其解,所以任何帮助表示赞赏:)
汤姆
编辑: 整个过程如下:
mkdir($root_dir, 0777);
mkdir($images_dir, 0777);
if (!copy($orig_logo, $new_logo))
{
echo "failed to copy $orig_logo...";
}
// see function above for details on set_permissions...
$this->set_permissions($new_logo);
}
(所有的路径是正确的太)
编辑: 我通过终端登录前的文件有以下权限:
-rwxrwxrwx 1 www-data www-data 2739 2009-08-26 01:45 base.css
的文件后,我登录并修改了:
-rwxrwxrwx 1 www-data www-data 2739 2009-08-26 01:45 base.css
该系统是一个内容管理系统,使您可以通过管理区编辑和删除文件,而奇怪的是,这个效果很好。似乎这些文件在某种程度上被锁定,除了Apache ...之外的任何其他人,但文件信息表明否则。这很奇怪...
对不起,我应该提到我移动文件的目录也具有应用于它们的权限。 在将文件移动到目录之前,我使用以下命令创建目录: mkdir($ default_dir,0777); 希望这会有所帮助... – Tisch 2009-08-26 00:31:17
没有有效的ACL? – 2009-08-26 11:08:07
对不起厚厚? ACL的? – Tisch 2009-08-28 08:26:36