Блог человека с ником TTyck

смотри выдачу и копируй, а потомы выберай луший вариант и штампуй! (с) TTyck

Php скрипт массовой замены строк в файлах на удаленной машине.

автор: TTyck | 19th Июль 2009 | рубрика: Doorways, Разное Просмотров: Аж 112 просмотров

Давно искал такой скриптег. Решил выложить тут. Допустим вы ошиблись в шаблоне своего дора, или просто надо поменять строку (м.б. вы новичек и не юзаете ТДС), или у вас есть доступ к чужому дору который в индексе.. для этих целей юзаем сей скрипт:


<?
$work_dir=”./”;
// рабочая директория - обязательно должна заканчиваться
// символом “/”
$excl_dir=array();
$excl_dir[0]=”./webstat/”;
$excl_dir[1]=”./cgi-bin/”;
// директории, где поиск/замена не производятся - обязательно должны заканчиваться
// символом “/”
$file_mask_1=”.html”;
$file_mask_2=”.js”;
// маски обрабатываемых файлов (будут обработаны все файлы,
// содержащие данную строку в имени)
$search_str=”<noindex></DIV>”; #что ищем
$replace_str=”</DIV>”; #чем заменяем
//******************************************************
$level=0;
function sr($dir)
{
global $level,$file_mask_1,$file_mask_2,$search_str,$replace_str,$excl_dir;
echo “<b>”;
for ($i=0;$i<$level;$i++) echo “* * “;
echo $dir.”</b>”;
if (@in_array($dir,$excl_dir))
{
echo ” - needn’t search & replace<br>”;
return;
}
echo “<br>”;
$p = dir($dir);
while($ent=$p->read())
{
if ($ent!=”.” && $ent!=”..” && !is_dir($dir . $ent) && (eregi(sql_regcase($file_mask_1),$ent) || eregi(sql_regcase($file_mask_2),$ent)))
{
$tmp=@file($dir.$ent);
$str=@implode(”",$tmp);
if (strpos(”@!#%xrenoder^&*()”.$str,$search_str))
{
for ($i=0;$i<($level)+1;$i++) echo “* * “;
echo $dir.$ent.” found…”;
$str=str_replace($search_str,$replace_str,$str);
if ($fp=@fopen($dir.$ent, “w”))
{
flock($fp,LOCK_EX);
fwrite($fp,$str);
fclose($fp);
echo ” and replace<br>”;
}
else echo ” and <b>can’t replace</b><br>”;
}
}
elseif($ent!=”.” and $ent!=”..” and is_dir($dir . $ent))
{
$level++;
sr($dir.$ent.”/”);
$level–;
}
}
$p->close();
return;
}
sr($work_dir);
echo “SEARCH & REPLACE Complete”;
?>

21 коммент. »

  1. lux3r : 19th Июль 2009 в 16:47:

    Советую поставить данный скрипт в теги .
    Да и сам он по-моему на серче светился.

    Thumb up 0 Thumb down 0

    [Ответить]

  2. lux3r : 19th Июль 2009 в 16:48:

    Черт. Теги (пробелы убрать) :)

    Thumb up 0 Thumb down 0

    [Ответить]

  3. lux3r : 19th Июль 2009 в 16:49:

    Йобтвайумать! Я имел в виду тег code……

    Thumb up 0 Thumb down 0

    [Ответить]

  4. TTyck : 19th Июль 2009 в 17:36:

    Угу, сорри что кривой был, забыл поглядеть…

    Thumb up 0 Thumb down 0

    [Ответить]

  5. Юзайте TDS, господа :) | Нет финансовому кризису : 3rd Декабрь 2009 в 12:26:

    [...] Скрипт сюда копировать не буду, выкладываю линк на пост, где он был когда-то обнаружен: PHP скрипт массовой замены строк на удаленной машине. [...]

    Thumb up 0 Thumb down 0

  6. Роман Вернигоров : 19th Декабрь 2009 в 14:29:

    молочага )))

    Thumb up 0 Thumb down 0

    [Ответить]

  7. Сеня : 12th Январь 2010 в 15:50:

    Если скрипт лежит в одной папке с файлами че писать в дериктории? или ее просто оставить пустой?

    Thumb up 0 Thumb down 0

    [Ответить]

  8. TTyck : 12th Январь 2010 в 16:10:

    $work_dir=”./”;

    Thumb up 0 Thumb down 0

    [Ответить]

  9. Сеня : 12th Январь 2010 в 16:22:

    Че то не пашет. Может кто скинет файлом плиз оч нужен скрипт. coolmoney2008 ГАФ mail.ru

    Thumb up 0 Thumb down 0

    [Ответить]

  10. TTyck : 12th Январь 2010 в 16:32:

    http://ttyck.ru/zamena.zip

    Thumb up 0 Thumb down 0

    [Ответить]

  11. umax99 : 12th Март 2010 в 10:32:

    Помогите разобраться! Когда пытаюсь запустить скрипт браузер выдает “Удаленный сервер или файл не найден”. Хотя другие скрипты на php выполняются… Какие права надо выставить на данный файл? Заливаю файл в общую папку где все файлы, в настройках пишу $work_dir=”./”; Что я делаю не так?

    Thumb up 0 Thumb down 0

    [Ответить]

  12. TTyck : 13th Март 2010 в 21:55:

    Ды вроде всё так..

    Thumb up 0 Thumb down 0

    [Ответить]

  13. Ander : 23rd Март 2010 в 8:15:

    Дык работает скрипт или нет?! Выложите плиззз рабочий код!

    Thumb up 0 Thumb down 0

    [Ответить]

  14. TTyck : 23rd Март 2010 в 16:23:

    Работает 100%! Только щас юзал под себя.. ссылка в 10ом каменте

    Thumb up 0 Thumb down 0

    [Ответить]

  15. Socialink : 16th Июнь 2010 в 19:47:

    А если стоит задача поменять кучу строк из одного файла, заключенных в одинаковые теги, последовательно на строки из другого файла - как ее решить?

    Thumb up 0 Thumb down 0

    [Ответить]

  16. TTyck : 17th Июнь 2010 в 17:00:

    Определенно не этим скриптом если на автомате, если в ручную то каждую строчку ручками прописывать…

    Thumb up 0 Thumb down 0

    [Ответить]

  17. Truth Hunter : 1st Июль 2010 в 0:45:

    Очень пригодился скриптик, спасибо! :)

    Thumb up 0 Thumb down 0

    [Ответить]

  18. Константин : 12th Июль 2010 в 16:23:

    Локально работает хорошо. На хосте - работать пытается но пишет found… and can’t replace. Все делаю эдентично. Где собака порылась?

    Thumb up 0 Thumb down 0

    [Ответить]

  19. TTyck : 13th Июль 2010 в 11:03:

    C правами можт ..

    Thumb up 0 Thumb down 0

    [Ответить]

  20. 007 : 5th Январь 2011 в 22:57:

    А как заставить его работать ?

    Thumb up 0 Thumb down 0

    [Ответить]

  21. TTyck : 7th Январь 2011 в 4:06:

    кнутом.. ну или плеткой)

    Thumb up 0 Thumb down 0

    [Ответить]

Оставить комментарий или два

Просто кликни на них, и ты подписан на мою RSS-ленту:

Читайте:

2leep.com

Мета

Рекламко


Хостинг по типу 'Всё включено' от 0,8 $  в месяц
Стабильные ВПС и разумные цены.

Читайте:

2leep.com

Инвесторам!

Расскажу о способе инвестиций более 100% годовых. icq 393605, skype ttyck09, ttyck@mail.ru

Внимание!