Как сделать проще и красивее

spiderbuber

Гуру форума
Заблокирован
Регистрация
20 Июл 2009
Сообщения
237
Реакции
59
  • Автор темы
  • Заблокирован
  • #1
Задача: проверить существование нескольких файлов в разных папках. Вывести их права. Если есть права на запись, произвести замету в файле. Результат выполнения или ошибки вывести на экран. Обработать нужно около 10 файлов, по одному очень геморно.
(.. код потёрт..)
 
ммм...

fileperms + chmod ?
 
Используй is_writable

PHP:
$filenames = array('путь1', 'путь2', 'путь3');
foreach ($filenames as &$filename) {
//проверка
}
 
  • Автор темы
  • Заблокирован
  • #4
Можно полный код?.. Нечего не выходит, всю голову сломал... :(
 
PHP:
$filenames = array('./papka/podpapka/file1.php', './papka/podpapka/file2.php', './papka/podpapka/file3.php');
foreach ($filenames as &$filename) {
//вывод прав
if (is_writable($filename)) {
$fileContent = file_get_contents($filename);
$newFileContent = str_replace('?>', '1
?>', $fileContent);
file_put_contents($newFileContent);
//какие-то еще действия
}
}
 
  • Автор темы
  • Заблокирован
  • #6
Фишка то в том, что в каждом файле нужно сделать свою замену, а не во всех одинаковую!..
 
Фишка то в том, что в каждом файле нужно сделать свою замену, а не во всех одинаковую!..
Где об этом сказано в первом посте?
PHP:
$filenames = array('./papka/podpapka/file1.php' => '1', './papka/podpapka/file2.php' => '2', './papka/podpapka/file3.php' => '3');
foreach ($filenames as $filename => $replace) {
//вывод прав
if (is_writable($filename)) {
$fileContent = file_get_contents($filename);
$newFileContent = str_replace('?>', $replace, $fileContent);
file_put_contents($newFileContent);
//какие-то еще действия
}
}
Где 1, 2, 3 - нужная замена
 
  • Автор темы
  • Заблокирован
  • #10
chibit, uNknownMark - не работает код (тестил и на локалке и на сервере), пишет, что замена выполнена, но по факту - нет..



Спасибо всем за наводки, разобрался и сделал так как мне нужно..
Тему можно прикрыть..
 
Назад
Сверху