|
|
|
Удобно менять права на все папки сайта выполняя php
Код: |
<?php
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']=0444; // эти права будут установлены для файлов
$perm['d']=0555; // а эти для папок
chmod_R($path, $perm);
echo $path;
?>
|
а как прописать в этом же коде исключение для ряда папок? |
|
|
|
|
|
Меняете вот этот участок
Код: |
else { //если текущая позиция это папка то...
chmod($path . "/" . $file, $perm['d']);
chmod_R($path . "/" . $file, $perm); // рекурсивно проверяем папочку
}
|
так:
Код: |
else { //если текущая позиция это папка то...
if(($path . "/" . $file) != 'путь к папке которую надо исключить') {
chmod($path . "/" . $file, $perm['d']);
chmod_R($path . "/" . $file, $perm); // рекурсивно проверяем папочку
}
}
|
если папок которые надо исключить несколько то смотрите как работать с проверкой наличия конктретного значения(пути к папке которую надо исключить) в масcиве и делайте его в if |
|
|
|
|
|
|
|