Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: SPY, который ходит по папочкам
 
 автор: restall   (26.08.2006 в 19:44)   письмо автору
 
 

как осуществить такой скрипт, чтобы он открывал папку, которую ты ему указал, он зашел - сморит что там есть.. выводит файлики ,что там есть... дальше видит - папка.. зашел туда, посмотрел и снова вывел что там есть....и так выходит список файликов, которые можно редактировать..
Для чего это дело нужно, мне нужно в кучи папок с файликами определенного типа допутсим html изменить слово "Вася" на "Петя" вот. Мои действия были такие

$dir = opendir($papka);  
 while(($file = readdir($dir))) 
  { 
if (strpos($file, '.htm') == true) {
    if(is_file("$papka/$file")) $array_f[] = $file;
echo $file."<br>";
}
  }

помогите дальше, как заходиьт по папкам? ...

   
 
 автор: RV   (26.08.2006 в 19:54)   письмо автору
 
   для: restall   (26.08.2006 в 19:44)
 

если is_dir(), то делаешь линк на папку. и далее все сначала.
можно не делать линк на папку, а работать с ней так же, как ты и предложил, передавая имя папки.

   
 
 автор: pini-pini   (26.08.2006 в 19:58)   письмо автору
 
   для: restall   (26.08.2006 в 19:44)
 

Этот код поместить в определение функции, а в коде осуществлять проверку, на то, что это дирриктория, если да, то рекурсивно вызвать функцию.

   
 
 автор: Akira   (26.08.2006 в 20:37)   письмо автору
 
   для: restall   (26.08.2006 в 19:44)
 

попробуйте посмотреть пример

http://www.softtime.ru/scripts/replace.php

   
 
 автор: restall   (27.08.2006 в 13:27)   письмо автору
 
   для: Akira   (26.08.2006 в 20:37)
 

Начал проверять тот скрипт, что вы мне посоветовали. Запустил сразу мне выдало ... Fatal error: Call to undefined function: file_put_contents().
Сей чс попробуем заменить способ записи в файлик... может поможет...

   
 
 автор: restall   (27.08.2006 в 13:48)   письмо автору
 
   для: 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);  // Вызов рекурсивной функции
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования