скпипт массового редакт. txt Есть?

12 3
B
На сайте с 05.11.2008
Offline
97
998

ищу скрипт массового редактирования файлов формата .txt . Такие существуют?

При условии что каждый файл в разной папке, но имеет одинаковое название. и изменить надо всего лишь адрес сайта в тексте.

R
На сайте с 24.08.2006
Offline
31
#1

Если файлов много, то на сервере, боюсь что изменить будет крайне проблематично, время ограничения работы скрипта. Это первое.

Второе, размеры текстовых файлов. И flock в этом случае может не помочь.

B
На сайте с 05.11.2008
Offline
97
#2

все на сервере.

Размеры каждого файла не более 1кб, чаще гдето 300-600 байт.

Breds добавил 11.12.2009 в 13:36

а количество редактируемых файлов колебаться может от 20 до 2000

R
На сайте с 24.08.2006
Offline
31
#3

Готовых скриптов не видел, но создать такой трудности не составит.

1. Открываете директорию.

2. Ищите name.txt

3. Открываете

4. Побитно считываете и через регулярку вытаскиваете искомый текст

5. Перезаписываете файл

B
На сайте с 05.11.2008
Offline
97
#4

я со скриптами в создании не дружу)))

Stripe
На сайте с 05.09.2006
Offline
222
#5

Есть программа под винду Text Replacer, может она вам поможет.

Сайты от 30р почти по любой теме или наполнение ваших сайтов (/ru/forum/887821) дешевым контентом. Базы товаров и контента (http://nakovalnja.ru). Вечные ссылки за 1$ или 30р. (/ru/forum/741397)
Bitman
На сайте с 05.07.2009
Offline
112
#6

Где то так


$dir="./directory/";
$patterns="/chego_ishchem/";
$replace="chem_zamenyaem";

$dh=opendir($dir);
while (($file = readdir($dh)) !== false)
{
preg_replace($patterns, $replace, file($dir.$file));
сохраняем
}
closedir($dh);
Северный лес (https://euro-vagonka.by) DREW (https://drew.by) AvtoDrive (https://avtodrive.by)
B
На сайте с 05.11.2008
Offline
97
#7

Stripe, спасибо! ща гляну. А она на сервере меняет или только на компе? че то в описании не понял, пока качаю.

R
На сайте с 24.08.2006
Offline
31
#8

Только str_replace() предпочтительнее. С регулярками я погорячился, извините.

B
На сайте с 05.11.2008
Offline
97
#9

Bitman, так ведь идет не совсем так.

Допустим категория files и в ней папки 1, 2, 3, ......

В каждой папке файл readme.txt

в файле текст:

описание

-------

Раздел: Игры OS 7-8

Дата: 29.06.2006

Размер файла: 697.3 Kb

-------

www.сайт.ru

вот надо этот кусок:

Раздел: Игры OS 7-8

Дата: 29.06.2006

Размер файла: 697.3 Kb

-------

www.сайт.ru

заменить на мое.

BredoGen.
На сайте с 19.10.2009
Offline
98
#10


<?php
function edit($folder, $filename, $what, $to) {
$dir = opendir($folder);
while (($file = readdir($dir)) !== false) {
if($file!='index.php' && $file != "." && $file != "..") {
if(is_dir("$folder/$file")) edit("$folder/$file", $filename, $what, $to);
if($file==$filename) {
$content = file_get_contents("$folder/$file");

$content = str_replace($what, $to, $content);
$fp = fopen("$folder/$file", 'w+');
fwrite($fp, $content);
fclose($fp);

}
}
}
}

/* Заменяется pixels на px в файлах с именем red.css. Заменяется во всех файлах и категориях текущей папки (поддерживается неограниченная вложенность). Если нужно заменить в другой папке, меняете первый параметр с '.' на имя нужной папки. */
edit('.', 'red.css', 'pixels', 'px');
echo 'Готово';
?>

Не претендую на идеальный код, я любитель :)

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий