Выставление CHMOD в PHP

Статус
В этой теме нельзя размещать новые ответы.

blacks

Местный житель
Регистрация
26 Сен 2008
Сообщения
391
Реакции
24
Привет всем!

Ищется скрипт:
Поиск и установка CHMOD по маске "имя файла" и/или расширения
(с установкой в всех директориях сайта да/нет)

Нашел два примера:
1. установка только по файлам что указанны в списке
= но когда попробовал добавить права 444 - он их не установил

2. может выставлять только по расширению файлов
- на мой взгляд очень приемлимый в-т но к сожалению не то.
(возможно его как-то можно подредактировать.. но я в пхп 0)

Всем откликнувшимся заранее большущие спасибо!

PS примеры в аттачах
 

Вложения

  • 01. chmod my.zip
    1,4 KB · Просмотры: 2
  • 02. chmod_full-panel.zip
    4 KB · Просмотры: 4
Попробуй заменить функцию _CHMOD_DIR_FILES из второго скрипта на эту
PHP:
function _CHMOD_DIR_FILES($chmod,$ext,$enclosed)
{
        foreach (glob("{*,.*}",GLOB_BRACE) as $file) {
                if ($file=='.' || $file=='..') continue;
                if (is_dir($file) && $enclosed === TRUE) {
                   if (!@chdir($file))continue;
				   chmod($file, $chmod);
                   _CHMOD_DIR_FILES($chmod,$ext,$enclosed);
                   chdir("..");
                } elseif ($ext == '*' || strtolower(pathinfo($file,PATHINFO_EXTENSION)) == $ext) {
                    chmod($file, $chmod);
                }
        }
}


тут ставятся права и на папки и на файлы (можно задать маску расширения * )

если будет не то, что нужно, стучи в аську, помогу.
 
Попробуй заменить функцию _CHMOD_DIR_FILES из второго скрипта на эту

Спасибо.
В асю обязательно или можно через форум?
- у меня асю 5месяцев назад украли - все новую не сделать :ah:

Попробовал копи-пастом твой код.
Пробовал несколько вариантов
- результат = в той или ином моменте появлятся белая страница
- не работает :(

В пхп нулл навверно совсем .. эх . не разобрался куда его втыкать :(
 
Замени во 2ом скрипте этот кусок:
PHP:
elseif (strtolower(pathinfo($file,PATHINFO_EXTENSION)) == $ext)
на этот:
PHP:
elseif ($ext == '*' || strtolower(pathinfo($file,PATHINFO_EXTENSION)) == $ext)
Найти можно поиском по файлу. Если вообще никак, то это 210 строка твоего файла ;)
И теперь когда указываешь расширение, при желании чтобы изменялись права всех файлов, вместо расширения пиши *
 
Пропустил еще 1 добавление, если файл является папкой, то ему тоже поставить chmod
 
Пропустил еще 1 добавление, если файл является папкой, то ему тоже поставить chmod
Уважаемый, если бы Вы сначала взглянули на скрипт, то у Вас бы ни возникла потребность в необоснованых высказываниях =)
Приведу верхнюю часть оператора if:
PHP:
if (is_dir($file) && $enclosed === TRUE) {
                   if (!@chdir($file))continue;
                   _CHMOD_DIR_FILES($chmod,$ext,$enclosed);
                   chdir("..");
                }
за которой как раз и следует упоминаемый нами esleif =)
 
Ну и чо ты мне этот код привел? В нем НЕ выставляются права на ПАПКУ. Ищи дальше.
 
Замени во 2ом скрипте этот кусок:
Заменил. Попробовал выставить index.html *.html и просто *
- пишет что результат выполнен - захожу в фтп, обновляю - все тоже самое что и было :(

Попробуй заменить функцию
Утро вечера мудренее - попробовал после сна и разобрался куда
нужно поставить код.

Но:confused: - ставлю файл index.html chmod 644 и мне не зайти
- не пускает по фтп - на все папки поставил 644 а на файлы нет
- что-то непонятное творится точно :( права на файлы в корне не
меняются

Ниже приаттачил оба варианта.
Если кто может проверти плиз.
 

Вложения

  • chmod by Arqin.txt
    10,1 KB · Просмотры: 2
  • chmod by tostrss.txt
    10,2 KB · Просмотры: 2
644 это -rw-r--r-- вполне возможно что не будет доступа к файлам.
Может надо поставить 0755 права?

на все папки поставил 644 а на файлы нет
Надо было в поле Расширение файлов вписать *
 
644 это -rw-r--r-- вполне возможно что не будет доступа к файлам.
Может надо поставить 0755 права?
Надо было в поле Расширение файлов вписать *

Что-то я запутался :thenks::bc:
Вроде как нужно ставить любые права на файлы с "запросами" вида:
(в одной / в многих директориях)

a. index.html - строго файл
б. *.html = html - все файлы с расширением
в. index.* - все имена с любым расширением

chmod.php 1.0
- работает только html

chmod.php 2.0 by Arqin
- не работает index.* index.html

chmod.php 3.0 by tostrss
- не работает index.* index.html

Папки тоже можно ставить...
но не так чтоб они ставились вместе с установкой прав на файлы
- сейчас вроде именно такое наблюдается как побочный эффект


Эх.. прорвете плиз у себя - может что-то у меня съехало в примерах :(
 

Вложения

  • chmod_set-v1-v2-v3.ZIP
    29,5 KB · Просмотры: 2
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху