Вопросы chmod'ов при переносе на хостинг.

Вопрос и решения нашлись, когда я внось стал использовать 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 свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Не забываем смотреть статистику:

Яндекс цитирования