Revision: 5460
Updated Code
at March 1, 2013 20:33 by Tenzer
Updated Code
<? /** Chmods files and folders with different permissions. This is an all-PHP alternative to using: \n <tt>exec("find ".$path." -type f -exec chmod 644 {} \;");</tt> \n <tt>exec("find ".$path." -type d -exec chmod 755 {} \;");</tt> @author Jeppe Toustrup (tenzer at tenzer dot dk) @param $path An either relative or absolute path to a file or directory which should be processed. @param $filePerm The permissions any found files should get. @param $dirPerm The permissions any found folder should get. @return Returns TRUE if the path if found and FALSE if not. @warning The permission levels has to be entered in octal format, which normally means adding a zero ("0") in front of the permission level. \n More info at: http://php.net/chmod. */ function recursiveChmod ($path, $filePerm=0644, $dirPerm=0755) { // Check if the path exists if (!file_exists($path)) { return(false); } // See whether this is a file if (is_file($path)) { // Chmod the file with our given filepermissions chmod($path, $filePerm); // If this is a directory... } elseif (is_dir($path)) { // Then get an array of the contents $foldersAndFiles = scandir($path); // Remove "." and ".." from the list $entries = array_slice($foldersAndFiles, 2); // Parse every result... foreach ($entries as $entry) { // And call this function again recursively, with the same permissions recursiveChmod($path."/".$entry, $filePerm, $dirPerm); } // When we are done with the contents of the directory, we chmod the directory itself chmod($path, $dirPerm); } // Everything seemed to work out well, return true return(true); } ?>
Revision: 5459
Updated Code
at October 2, 2008 03:52 by Tenzer
Updated Code
<? /** Chmods files and folders with different permissions. This is an all-PHP alternative to using: \n <tt>exec("find ".$path." -type f -exec chmod 644 {} \;");</tt> \n <tt>exec("find ".$path." -type d -exec chmod 755 {} \;");</tt> @author Jeppe Toustrup (tenzer at tenzer dot dk) @param $path An either relative or absolute path to a file or directory which should be processed. @param $filePerm The permissions any found files should get. @param $dirPerm The permissions any found folder should get. @return Returns TRUE if the path if found and FALSE if not. @warning The permission levels has to be entered in octal format, which normally means adding a zero ("0") in front of the permission level. \n More info at: http://php.net/chmod. */ function recursiveChmod($path, $filePerm=0644, $dirPerm=0755) { // Check if the path exists if(!file_exists($path)) { return(FALSE); } // See whether this is a file if(is_file($path)) { // Chmod the file with our given filepermissions chmod($path, $filePerm); // If this is a directory... } elseif(is_dir($path)) { // Then get an array of the contents $foldersAndFiles = scandir($path); // Remove "." and ".." from the list $entries = array_slice($foldersAndFiles, 2); // Parse every result... foreach($entries as $entry) { // And call this function again recursively, with the same permissions recursiveChmod($path."/".$entry, $filePerm, $dirPerm); } // When we are done with the contents of the directory, we chmod the directory itself chmod($path, $dirPerm); } // Everything seemed to work out well, return TRUE return(TRUE); } ?>
Revision: 5458
Updated Code
at March 10, 2008 09:56 by Tenzer
Updated Code
<? /** Chmods files and folders with different permissions. This is an all-PHP alternative to using: \n <tt>exec("find ".$path." -type f -exec chmod 644 {} \;");</tt> \n <tt>exec("find ".$path." -type d -exec chmod 755 {} \;");</tt> @author Jeppe Toustrup (tenzer at tenzer dot dk) @param $path An either relative or absolute path to a file or directory which should be processed. @param $filePerm The permissions any found files should get. @param $dirPerm The permissions any found folder should get. @return Returns TRUE if the path if found and FALSE if not. @warning The permission levels has to be entered in octal format, which normally means adding a zero ("0") in front of the permission level. \n More info at: http://php.net/chmod. */ function recursiveChmod($path, $filePerm=0644, $dirPerm=0755) { // Check if the path exists if(!file_exists($path)) { return(FALSE); } // See whether this is a file if(is_file($path)) { // Chmod the file with our given filepermissions chmod($path, $filePerm); // If this is a directory... } elseif(is_dir($path)) { // Then get an array of the contents $foldersAndFiles = scandir($path); // Remove "." and ".." from the list $entries = array_slice($foldersAndFiles, 2); // Parse every result... foreach($entries as $entry) { // And call this function again recursively, with the same permissions changePermissions($path."/".$entry, $filePerm, $dirPerm); } // When we are done with the contents of the directory, we chmod the directory itself chmod($path, $dirPerm); } // Everything seemed to work out well, return TRUE return(TRUE); } ?>
Revision: 5457
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 10, 2008 09:55 by Tenzer
Initial Code
<? /** Chmods files and folders with different permissions. This is an all-PHP alternative to using: \n <tt>exec("find ".$path." -type f -exec chmod 644 {} \;");</tt> \n <tt>exec("find ".$path." -type d -exec chmod 755 {} \;");</tt> @author Jeppe Toustrup (tenzer at tenzer dot dk) @param $path An either relative or absolute path to a file or directory which should be processed. @param $filePerm The permissions any found files should get. @param $dirPerm The permissions any found folder should get. @return Returns TRUE if the path if found and FALSE if not. @warning The permission levels has to be entered in octal format, which normally means adding a zero ("0") in front of the permission level. \n More info at: http://php.net/chmod. */ function recursiveChmod($path, $filePerm=0644, $dirPerm=0755) { // Check if the path exists if(!file_exists($path)) { return(FALSE); } // See whether this is a file if(is_file($path)) { // Chmod the file with our given filepermissions chmod($path, $filePerm); // If this is a directory... } elseif(is_dir($path)) { // Then get an array of the contents $foldersAndFiles = scandir($path); // Remove "." and ".." from the list $entries = array_slice($foldersAndFiles, 2); // Parse every result... foreach($entries as $entry) { // And call this function again recursively, with the same permissions changePermissions($path."/".$entry, $filePerm, $dirPerm); } // When we are done with the contents of the directory, we chmod the directory itself chmod($path, $dirPerm); } // Everything seemed to work out well, return TRUE return(TRUE); } ?>
Initial URL
Initial Description
A small function I made to chmod directories and files recursively, with different permissions.
Initial Title
Recursive chmod in PHP
Initial Tags
php, function
Initial Language
PHP