|
|
|
| Нужно найти текст($text) во всех файлах сайта. Если текст найден то нужно его заменить на текст($retext) не зависимо по какому (внутреннему) адресу находиться файл. | |
|
|
|
|
|
|
|
для: Alexx
(22.07.2005 в 14:46)
| | Для этого можно воспользоваться следующим скриптом
<?php
$text = '$text';
$retext = '$retext';
$dirname = "Имя корневой директории, например .";
scan_dir($dirname);
//////////////////////////////////////////////////////////
// Рекурсивная функция - спускаемся вниз по каталогу
//////////////////////////////////////////////////////////
function scan_dir($dirname)
{
// Объявляем переменные замены глобальными
GLOBAL $text, $retext;
// Открываем текущую директорию
$dir = opendir($dirname);
// Читаем в цикле директорию
while (($file = readdir($dir)) !== false)
{
// Если файл обрабатываем его содержимое
if($file != "." && $file != "..")
{
// Если имеем дело с файлом - производим в нём замену
if(is_file($dirname."/".$file))
{
// Читаем содержимое файла
$content = file_get_contents($dirname."/".$file);
// Осуществляем замену
$content = str_replace($text, $retext, $content);
// Перезаписываем файл
file_put_contents(file_put_contents,$content);
}
// Если перед нами директория, вызываем рекурсивно
// функцию scan_dir
if(is_dir($dirname."/".$file))
{
echo $dirname."/".$file."<br>";
scan_dir($dirname."/".$file);
}
}
}
// Закрываем директорию
closedir($dir);
}
?>
|
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1718 | |
|
|
|
|
|
|
|
для: cheops
(22.07.2005 в 14:58)
| | огромное спасибо | |
|
|
|
|
|
|
|
для: Alexx
(22.07.2005 в 15:46)
| | Решил выложить этот код в примерах на сайте http://www.softtime.ru/scripts/replace.php, чтобы удобнее было ссылаться на него. | |
|
|
|
|
|
|
|
для: cheops
(22.07.2005 в 17:47)
| | :) | |
|
|
|