【发布时间】:2013-04-25 09:23:50
【问题描述】:
我有下面的 PHP 函数,它应该递归地 chmod 我服务器上的一个目录。
由于某种原因它无法正常工作 - 我知道该目录的路径是正确的,因为我已经使用一个快速脚本对其进行了测试,该脚本只打印出该目录中的文件。
$root_tmp = '/tmp/mixtape2';
chmod_r($root_tmp);
function chmod_r($Path) {
$dp = opendir($Path);
while($File = readdir($dp)) {
if($File != "." AND $File != "..") {
if(is_dir($File)){
chmod($File, 0777);
chmod_r($Path."/".$File);
}else{
chmod($Path."/".$File, 0777);
}
}
closedir($dp);
}
有什么想法吗?
【问题讨论】:
-
只是一个想法...我正在处理服务器的 /tmp 目录是否重要?所以,我想知道这是否是一个权限问题?例如,如果我在一个终端,我必须
sudo吗?如果是这样,我该如何从 php 脚本中解决这个问题? -
好的,我刚刚检查过,正在执行此脚本的文件的所有者是“nginx”,而我尝试 chmod 的文件/文件夹的用户是“root”。我想我需要以某种方式更改用户?不幸的是,这对我来说是全新的,所以我不知道从这里去哪里