Если вдруг случилось так, что есть большое количество файлов, в которых совершена однотипная ошибка, либо есть текст, который нужно заменить на другой, можно воспользоваться приведенным ниже кодом.
Главное — указать директорию в поле $dirname и искомую фразу в поле $text, которая в последствии будет заменена на строку замены $retext. Скрипт будет перебирать все файлы, которые лежат в данной папке и рекурсивно будет проходить все подпапки, выполняя те же самые действия. Если подпапки просматривать нет необходимости, то нужно закомментировать строчку if (is_dir($file_p)) scan_dir($file_p);
<?php
set_time_limit(0); // если файликов много и нужно проверить все, то нужно включить, иначе сработает ограничение по времени
function scan_dir($dirname) // Рекурсивная функция
{
global $text, $retext;
$dir = opendir($dirname); // Открываем текущую директорию
while (($file = readdir($dir)) !== false) { // Читаем в цикле директорию
if ($file != "." && $file != "..") { // Если файл, то обрабатываем его содержимое
$file_p = $dirname . "/" . $file; // сохраняем название файла
if (is_file($file_p)) { // Если имеем дело с файлом, то производим в нём замену
$content = file_get_contents($file_p); // Читаем содержимое файла
$content = str_replace($text, $retext, $content); // Осуществляем замену
file_put_contents($file_p, $content); // Перезаписываем файл
}
// Если перед нами директория, вызываем рекурсивно функцию scan_dir
if (is_dir($file_p)) scan_dir($file_p);
}
}
closedir($dir); // Закрываем директорию
}
$text = 'aaaaaaaaaaaaaa'; // Искомая строка
$retext = 'bbbbbbbbbbbbbb'; // Строка замены
$dirname = 'c:/txt/';
scan_dir($dirname); // Вызов рекурсивной функции
echo 'Черное дело сделано!, мой господин!!!';
?>