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

Тема в разделе "Как сделать...", создана пользователем spiderbuber, 22 янв 2012.

  1. spiderbuber

    spiderbuber

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

    demmy

    Регистр.:
    13 ноя 2006
    Сообщения:
    330
    Симпатии:
    96
    ммм...

    fileperms + chmod ?
     
  3. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    419
    Симпатии:
    285
    Используй is_writable

    PHP:
    $filenames = array('путь1''путь2''путь3');
    foreach (
    $filenames as &$filename) {
    //проверка
    }
     
  4. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    Можно полный код?.. Нечего не выходит, всю голову сломал... :(
     
  5. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    419
    Симпатии:
    285
    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. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    Фишка то в том, что в каждом файле нужно сделать свою замену, а не во всех одинаковую!..
     
  7. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    419
    Симпатии:
    285
    Где об этом сказано в первом посте?
    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 - нужная замена
     
  8. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    Извиняюсь - тупанул..

    ..потёрто..
     
  9. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169
     
    spiderbuber нравится это.
  10. spiderbuber

    spiderbuber

    Заблокирован
    Регистр.:
    20 июл 2009
    Сообщения:
    237
    Симпатии:
    61
    chibit, uNknownMark - не работает код (тестил и на локалке и на сервере), пишет, что замена выполнена, но по факту - нет..



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