I am working on a site which builds other sites. Some if it I use copy() to create the files and directories, other times I'm building XML files in php and using DOMDocument::save to save them. The end result is a root folder with all sorts of messed up permissions. I've beening modding files and folders as I go, which words to some extent, but I'm particularly having trouble when it comes to using copy()
.
(This is where I'm at so far http://pastebin.com/SBE8vtFX, attn: function modPath($path)
)
I want to take a different approach and recursively chmod/chown/chgrp all the files and folders within my document root to my specifications at once.
Take for example the document root
/home/mysite/public_html
and within public_html
I have
-rwxrwxrwx 1 mysite mysite 348 Aug 31 10:49 index.php
d--------x 5 root root 4096 Aug 30 10:21 folder1
drwxrwxrwx 2 mysite mysite 4096 Aug 30 09:41 folder2
My question:
How can I mod all files within a specified directory at once? I want to differentiate different chmod settings between directories and folders as well. This needs to be a PHP solution.
This is as far as I can get
<?php
function modAll($root) {
$aPath = explode("/", $root);
$user = $aPath[2];
/* Some sort of looping through $root */ {
$mod = (is_dir($thisfileorfolder) ? 0755 : 0644);
chmod($thisfileorfolder, $mod);
chown($thisfileorfolder, $user);
chgrp($thisfileorfolder, $user);
}
}
?>
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…