ФорумПрограммированиеPHP для идиотов → подчистка большого сайта регулярками?

подчистка большого сайта регулярками?

  • wwwww

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 2 июня 2009 г. 22:06

    привед деловеперы
    начну по порядку
    задача такая найти (заменить.вырезать слова) в сайте на локалке
    (окуенно большой больше 5000страниц)
    всегда для этого пользовался дремвивером.
    таркнул на кнопку найти и заменить вот и все недолга.
    но на проход этого сайта он тратит (окуеть!) больше 15минут за раз.
    поскольку менять докуя понял что нужно попробывать РНР
    полазил в гугле.наткнулся на учебник какого то жидо массона
    он пишет что такие вещи проделывал на РНР за 3 секунды.
    я повелся.почитал.сначала почувствовал что окуенно умный
    даже кодить начал
    if($mozg)?($grizi_granit):($kupi_lopatu);
    потом когда дошел до ООП понял что меня наипали
    подсунули какую то куйню про гианекологическое дерево
    родитель–потомки
    решил обратиться сюда.
    кто черканет несколько строк кода.
    логика понятна.нужно посчитать все файлы в корне
    пройтись по ним циклом и

    $str=str_replace("ищем","меняем на",$str);


  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 2 июня 2009 г. 22:09, спустя 3 минуты 7 секунд

    блядь. а поменьше воды нельзя?

    $files = glob("files/*");
    foreach($files as $f)
    {
    $t = file_get_contents($f);
    $t = str_replace("shit","гавно",$t);
    file_put_contents($f,$t);
    }
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 2 июня 2009 г. 22:10, спустя 1 минуту 16 секунд

    if($mozg)?($grizi_granit):($kupi_lopatu);

    красава

    ну начало у тебя хорошее попробуй написать код а мы уже поправим
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 2 июня 2009 г. 22:11, спустя 40 секунд

    блять вот эта твоя манера делать все за народ - это пиздец (с) самизнаетекто
  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 2 июня 2009 г. 22:11, спустя 10 секунд


    if($mozg)?($grizi_granit):($kupi_lopatu);

    красава

    ну начало у тебя хорошее попробуй написать код а мы уже поправим
    в принципе и в ифе ошибка))
    Сапожник без сапог
  • wwwww

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 2 июня 2009 г. 22:25, спустя 13 минут 29 секунд

    респект за быстрый ответ.
    доберусь до ХАМРPА
    опробую.
  • Mr.Pihto

    Сообщения: 1386 Репутация: N Группа: Адекваты

    Spritz 3 июня 2009 г. 1:07, спустя 2 часа 42 минуты 12 секунд

    =)
  • wwwww

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 3 июня 2009 г. 12:09, спустя 11 часов 2 минуты 32 секунды


    потестил работает! но увы меняет только файлы в корневой папке
    а во вложенных нехочет. правов видите ли ему мало
    хотя я выставил 777 для пробы включая вложенные папки
    Warning: file_get_contents(C:/xamppp/htdocs/browse/catalog) [function.file-get-contents]: failed to open stream: Permission denied in
    Warning: file_put_contents(C:/xamppp/htdocs/browse/catalog) [function.file-put-contents]: failed to open stream: Permission denied in

    неужели только к каждой папке путь прописывать и циклом проходить?



  • phpdude

    Сообщения: 26632 Репутация: N Группа: в ухо

    Spritz 3 июня 2009 г. 12:14, спустя 4 минуты 49 секунд



    потестил работает! но увы меняет только файлы в корневой папке
    а во вложенных нехочет. правов видите ли ему мало
    хотя я выставил 777 для пробы включая вложенные папки
    Warning: file_get_contents(C:/xamppp/htdocs/browse/catalog) [function.file-get-contents]: failed to open stream: Permission denied in
    Warning: file_put_contents(C:/xamppp/htdocs/browse/catalog) [function.file-put-contents]: failed to open stream: Permission denied in

    неужели только к каждой папке путь прописывать и циклом проходить?




    не ну я то тебе для файлов сказал в папке. для подпапок я бы посоветовал покопать код ;)
    Сапожник без сапог
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 3 июня 2009 г. 12:41, спустя 26 минут 51 секунду

    wwwww, ну находишь папку по условию и такой же скрипт выполняешь для нее…
  • wwwww

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 4 июня 2009 г. 8:49, спустя 20 часов 7 минут 49 секунд

    понятно.теоретически знаю что под это дело лучше написать функцию
    чтобы подставлять в нее только новые папки.
    ну по современным реалиям функция уже не катит) нужно применять последние
    наработки.непременно КЛАСС

    а теперь серьезно.допустим скрипт работает.но как мне узнать время его выполнения?
    поскольку обьем файлов большой я не пойму когда он заканчивает работу.
    1.мне не нужно знать точное время.мне нужно только знать что работа закончена.
    логически я предположу что если внизу вывести
    echo "Все писец работа закончена";
    то это должно появиться только после выполнения этого скрипта?
    или не факт
    $files=glob($_SERVER['DOCUMENT_ROOT'].'/browse/browse/*');
    foreach($files as $f)
    {
    $t = file_get_contents($f);
    $t = str_replace("shit","гавно",$t);
    file_put_contents($f,$t);
    }
  • wwwww

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 4 июня 2009 г. 9:12, спустя 23 минуты 31 секунду

    похоже написал полную куйню.браузер же всеравно нужно как то обновлять.
    может рефреш как то можно сделать после окончания работы скрипта
  • Mr.Pihto

    Сообщения: 1386 Репутация: N Группа: Адекваты

    Spritz 4 июня 2009 г. 9:24, спустя 11 минут 24 секунды

    Header('Location: index.php'); в место индекса скрипт свой впиши
  • wwwww

    Сообщения: 22 Репутация: N Группа: Кто попало

    Spritz 4 июня 2009 г. 10:08, спустя 44 минуты 23 секунды

    Header же после окончания не вставишь.только вверх странички
  • Mr.Pihto

    Сообщения: 1386 Репутация: N Группа: Адекваты

    Spritz 4 июня 2009 г. 10:13, спустя 4 минуты 57 секунд

    wwwww, почему это? да хоть перед ?>

Пожалуйста, авторизуйтесь, чтобы написать комментарий!