<? function chmod_R($path, $perm){ $handle=opendir($path); while(false!==($file=readdir($handle))){ if(($file!==".")&&($file!=="..")){ if(is_file($path."/".$file)) //файл chmod($path."/".$file, $perm['f']); else{ //директория chmod($path."/".$file, $perm['d']); chmod_R($path."/".$file, $perm); //рекурсивно проверяем директорию } } } closedir($handle); } $path=$_SERVER["QUERY_STRING"]; if($path{0}!="/") $path=$_SERVER["DOCUMENT_ROOT"]."/".$path; $perm=array(); $perm['f']=0644; //права для файлов $perm['d']=0755; //права для директорий chmod_R($path, $perm); echo $path; ?>
источник: http://www.izero.ru/programmirovanie/rekursivnoe-izmenenie-prav-dostupa-chmod-na-php.html