За последние 24 часа нас посетили 52759 программистов и 1797 роботов. Сейчас ищут 1527 программистов ...

Сканирование дерева файлов на сервере и поиск

Тема в разделе "PHP для новичков", создана пользователем Roman Koff, 8 апр 2010.

  1. Roman Koff

    Roman Koff Активный пользователь

    С нами с:
    8 апр 2010
    Сообщения:
    5
    Симпатии:
    0
    Я новичок в PHP, подскажите, в каком направлении копать.

    Необходимо просканировать структуру каталогов на сервере, составить список файлов по маске (с расширением .php), и выполнить поиск в полученном списке по значению некоторой переменной, содержащей имя нужного файла.

    Формат содержимого элемента списка и переменной: 'dir1/dir2 ... /dirN/file',
    где dir -- каталог, file -- имя файла без расширения,
    например: 'tabs/info/about'

    Собственно вопрос в следующем:
    - как описать список для реестра файлов?
    - как сделать рекурсивное сканирование дерева каталогов?
    - как выполнить поиск в полученном списке?

    Сканирование каталога я делаю так:
    PHP:
    1. $pages = opendir("./data");
    2. while (false !== ($filename=readdir($pages)))
    3. {
    4.     $fs = filesize($filename);
    5.     $ft = filetype($filename);
    6.     echo "Имя: $filename Размер: $fs Тип: $ft<br />";
    7. }
     
  2. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Вот это находит все php файлы:
    PHP:
    1. <?php
    2. function myscan(&$arr, $dir){
    3.     $cont=glob($dir."/*");
    4.     foreach($cont as $file){
    5.         if (is_dir($file)){
    6.             myscan($arr, $file);
    7.         }
    8.         else{
    9.             if (strpos($file, ".php")!==false){
    10.                 $arr[]=$file;
    11.             }
    12.         }
    13.     }
    14. }
    15.  
    16. $arr=array();
    17. myscan($arr, "pp");
    18. var_dump($arr);
    А не для __autoload это все, случайно?
    Вот здесь http://www.php.ru/forum/viewtopic.php?p=166255
    440Hz выкладывал, то что Вам нужно.

    PS: Давно хотел спросить, где теперь искать лицензию которая была на http://enigma.440hz.ru/license ?
     
  3. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    а смысл?
     
  4. Roman Koff

    Roman Koff Активный пользователь

    С нами с:
    8 апр 2010
    Сообщения:
    5
    Симпатии:
    0
    Спасибо, полезный материал ...