|
|
|
| как осуществить такой скрипт, чтобы он открывал папку, которую ты ему указал, он зашел - сморит что там есть.. выводит файлики ,что там есть... дальше видит - папка.. зашел туда, посмотрел и снова вывел что там есть....и так выходит список файликов, которые можно редактировать..
Для чего это дело нужно, мне нужно в кучи папок с файликами определенного типа допутсим html изменить слово "Вася" на "Петя" вот. Мои действия были такие
$dir = opendir($papka);
while(($file = readdir($dir)))
{
if (strpos($file, '.htm') == true) {
if(is_file("$papka/$file")) $array_f[] = $file;
echo $file."<br>";
}
}
|
помогите дальше, как заходиьт по папкам? ... | |
|
|
|
|
|
|
|
для: restall
(26.08.2006 в 19:44)
| | если is_dir(), то делаешь линк на папку. и далее все сначала.
можно не делать линк на папку, а работать с ней так же, как ты и предложил, передавая имя папки. | |
|
|
|
|
|
|
|
для: restall
(26.08.2006 в 19:44)
| | Этот код поместить в определение функции, а в коде осуществлять проверку, на то, что это дирриктория, если да, то рекурсивно вызвать функцию. | |
|
|
|
|
|
|
|
|
для: Akira
(26.08.2006 в 20:37)
| | Начал проверять тот скрипт, что вы мне посоветовали. Запустил сразу мне выдало ... Fatal error: Call to undefined function: file_put_contents().
Сей чс попробуем заменить способ записи в файлик... может поможет... | |
|
|
|
|
|
|
|
для: restall
(27.08.2006 в 13:27)
| | Вещовая штука, облазит хоть и ввесь комп, найдет что ему нужно и заменит)
Вот это файл scan.php
<?php
//////////////////////////////////////////////////////////
// Рекурсивная функция - спускаемся вниз по каталогу
//////////////////////////////////////////////////////////
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);
// Перезаписываем файл
//вот тут чюток испраивл запись в файл.... и сдлеал так, чтобы только в те, что мне нужно файлы писать... к примеру с розширением TXT
if (strpos($file, '.txt') == true) {
$fo = fopen($dirname."/".$file, "w");
fwrite($fo, $content);
echo $dirname."/".$file;
} }
// Если перед нами директория, вызываем рекурсивно
// функцию scan_dir
if(is_dir($dirname."/".$file))
{
echo $dirname."/".$file."<br>";
scan_dir($dirname."/".$file);
}
}
}
// Закрываем директорию
closedir($dir);
}
?>
|
а это файл главный
<?php
include("scan.php");
$text = 'text'; // Искомая строка
$retext = 'retext'; // Строка замены
$dirname = " "; //тут папочка откуда начинать искать)
scan_dir($dirname); // Вызов рекурсивной функции
?>
|
| |
|
|
|