The script below loops over the specified directory and chmods its files, directories and subdirectories recursively.
<?php
function chmodDirectory( $path = ‘.’, $level = 0 ){
$ignore = array( ‘cgi-bin’, ‘.’, ‘..’ );
$dh = @opendir( $path );
while( false !== ( $file = readdir( $dh ) ) ){ // Loop through the directory
if( !in_array( $file, $ignore ) ){
if( is_dir( “$path/$file” ) ){
chmod(”$path/$file”,0777);
chmodDirectory( “$path/$file”, ($level+1));
} else {
chmod(”$path/$file”,0777); // desired permission settings
}//elseif
}//if in array
}//while
closedir( $dh );
}//function
chmodDirectory(”the_directory/”,0);
?>
source:
http://bjw.co.nz/developer/php/61-php-chmod-a-directory-recursively
Hi there,
Have tried your script, my server returns,
Parse error: parse error, unexpected ‘.’, expecting ‘)’ in /home/b/a/bastim/public_html/yeah/stuff/chmod.php on line 36
am I supposed to give this script the location of the folder,
I guessed it returns the path of the folder it is run from.
Have not found a script that works, maybe my server package does not allow this ?
Is there another way of doing this, can you ftp with php and change the permissions with in that protocol ?
Thanks for your help.