Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.7570
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 10.06.2010, 21:07   #1
Longer
Хочу обратно ((
 
Аватар для Longer
 
Регистрация: 18.04.2007
Сообщений: 3,540
Бабло: $589868
По умолчанию Массовый редактор файлов .html

Нашел тут 10К страниц с одного дора, про который забыл. Че, да почему, он без редиректа.

Есть что нибудь в природе, чтобы могло зайти в папку и подпапки и во все html файлы всунуть необходимый код (токо вот вопрос, как точное место обозначить? ). PHP, наверное.
Сервак мой, домены тоже. Есть полный доступ к ДА, ФТП, SSH, и все такое

Это вообще трудно в реализации? Может на фри-лансе поискать написаку , если мне это не выйдет 100 у.е. час за две недели, как только собака бабушки выйдет из клиники так сразу....
Longer вне форума  
Старый 10.06.2010, 21:13   #2
Fedja
Senior Member
 
Аватар для Fedja
 
Регистрация: 29.09.2008
Сообщений: 1,617
Бабло: $203313
По умолчанию

2-3 месяца назад кто-то выкладывал код на РНР
Fedja вне форума  
Старый 10.06.2010, 21:13   #3
RedHead
Senior Member
 
Аватар для RedHead
 
Регистрация: 26.08.2008
Адрес: UA
Сообщений: 2,946
Бабло: $402755
По умолчанию

держи бесплатно:
Цитата:
<?
set_time_limit(0);
$work_dir="./";
// рабочая директория - обязательно должна заканчиваться
// символом "/"
$excl_dir=array();
$excl_dir[0]="./adult-sex/";
$excl_dir[1]="./www/";
$excl_dir[2]="./images/";
$excl_dir[2]="./anothersex/";
// директории, где поиск/замена не производятся - обязательно должны заканчиваться
// символом "/"
$file_mask_1=".html";
$file_mask_2=".js";
// маски обрабатываемых файлов (будут обработаны все файлы,
// содержащие данную строку в имени)
$search_str="http://www.erohernia.com/?adv=blalba"; #что ищем
$replace_str="http://pornoonline.com/?id=74832"; #чем заменяем
//************************************************** ****
$level=0;
function sr($dir)
{
global $level,$file_mask_1,$file_mask_2,$search_str,$repl ace_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)))
{
[email protected]($dir.$ent);
[email protected]("",$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 ([email protected]($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";
?>
RedHead вне форума  
Старый 10.06.2010, 21:13   #4
imgreen
Lion King
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 12,074
Бабло: $247698106
По умолчанию

там писать нечего
кстати это даже notepad++ умеет
__________________
ДетскиеДомики.ру - забота о детях с особыми нуждами.
imgreen вне форума  
Старый 10.06.2010, 21:14   #5
pesdexx
sysadm
 
Аватар для pesdexx
 
Регистрация: 28.12.2007
Сообщений: 589
Бабло: $101521
По умолчанию

за $10 думаю тебе напишут, там ничего сложного нет. если, конечно место выберишь из серии "</body>"
pesdexx вне форума  
Старый 10.06.2010, 22:32   #6
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

массовая замена обсуждалась тут: http://gofuckbiz.com/showthread.php?t=16351
в линуксе замена во всех файлах from_str на to_str выглядит примерно так:
Код:
find dir/ -type f -exec sed -i 's/from_str/to_str/g' '{}' \;
осталось определить что на что менять, ну например такая команда:
Код:
find . -type f -exec sed -i 's/<\/body>/<script>self.location="http:\/\/google.com"<\/script><\/body>/g' '{}' \;
вставит в конце каждого файла редирект на google.com
ps запускать внутри нужной папки
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser

Последний раз редактировалось chesser; 10.06.2010 в 22:54.
chesser вне форума  
Старый 10.06.2010, 22:50   #7
spamless
Senior Member
 
Регистрация: 16.07.2009
Сообщений: 939
Бабло: $152432
По умолчанию

Цитата:
Сообщение от imgreen Посмотреть сообщение
там писать нечего
кстати это даже notepad++ умеет
расскажи как средствами npp на удаленном сервере сделать?
spamless вне форума  
Старый 13.06.2010, 20:24   #8
Longer
Хочу обратно ((
 
Аватар для Longer
 
Регистрация: 18.04.2007
Сообщений: 3,540
Бабло: $589868
ТС -->
автор темы ТС По умолчанию

2 RedHead - твой не работает, дает ошибку в 23 ряду ...

2 chesser - а как быть если в каталоге по 100 папок? В каждой запускать долго.. Можно чтобы он все под-папки обошел?
Longer вне форума  
Старый 13.06.2010, 21:53   #9
0xDEAD
Senior Member
 
Аватар для 0xDEAD
 
Регистрация: 03.11.2009
Сообщений: 152
Бабло: $20330
По умолчанию

Цитата:
Сообщение от Longer Посмотреть сообщение
В каждой запускать долго.. Можно чтобы он все под-папки обошел?
Так он так и работает, в корне запускай просто, он все вложенные папки обойдет
0xDEAD вне форума  
Старый 13.06.2010, 22:06   #10
y4b53
:(
 
Аватар для y4b53
 
Регистрация: 25.11.2008
Сообщений: 733
Бабло: $89222
По умолчанию

Не проще htaccess'ом сделать редирект ?
y4b53 вне форума  
Закрытая тема



Опции темы
Опции просмотра