Вопрос и решения нашлись, когда я внось стал использовать Denwer. Т.к. chmod'ов в винде не имеется, то при переносе на хост необходимо их задавать заново, если вы вдруг не линуксоид с апачем на борту.
Задачу можно сократить, если принять в учет то обстоятельство, что большинство папок и файлов должно иметь примерно одинаковый доступ.
И как решение такого вопроса привожу два листинга возможных решений:
1. Если у вас есть под рукой командная строка и доступ к нормальному unix- серверу, то можете запустить sh-скриптик(chmod.sh):
#!/bin/sh
find ./www -name '*' -type d -print |
while read AAA
do
chmod 755 $AAA
done
find ./www -name '*' -type f -print |
while read AAA
do
chmod 644 $AAA
done
чуточку разжую — 755 — права на папки, 644 — на файлы, ./www — путь к вашей папке с файлами и папками. Проверено, работает.
2. решение через запуск php- скрипта привожу с копирайтом):
<?
/* */
/* СКРИПТ ДЛЯ РЕКУРСИВНОЙ СМЕНЫ ПРАВ НА ФАЙЛЫ И ПАПКИ */
/* */
/* Автор: Предводителев Сергей (Niko) */
/* http://predvoditelev.ru */
/* */
/* 27.04.2009 */
/* */
// Папка, в которой находятся файлы и папки для изменения прав
$PARENT_DIR = '/home/yoursite/public_html/yourdir';
$FILE_MODE = 0644; // права на файлы
$DIR_MODE = 0755; // права на папки
function chmodex($file) {
global $PARENT_DIR;
global $FILE_MODE;
global $DIR_MODE;
if ( file_exists($file) ) {
if ( is_dir($file) ) {
if ( !($file==$PARENT_DIR) ) { chmod( $file, $DIR_MODE ); }
$handle = opendir( $file );
while( $filename = readdir($handle) )
if ( $filename != "." && $filename != ".." ) chmodex( $file."/".$filename );
closedir($handle);
} else {
chmod( $file, $FILE_MODE );
}
}
}
chmodex($PARENT_DIR);
?>
Возможно это решение универсальней, т.к. такой php- скрипт можно запустить на хосте просто из браузера, а потом уже «добить» нужные права на «особенные» файлы.
Комментарии (0)
RSS свернуть / развернутьТолько зарегистрированные и авторизованные пользователи могут оставлять комментарии.