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

Форум PHP

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

 

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

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

тема: Рекурсивный обход каталога, файлов
 
 автор: mabelrod   (09.02.2012 в 17:33)   письмо автору
 
 

Случилась беда, дали задачу: есть каталог, в нем много подкаталогов, а в них файлы, вот как обойти все это и узнать каталог это или файл ... что бы мне потом красиво загнать это в CMS.

Нагуглил что есть такая штука как DirectoryIterator но доки на англицком, немогу осилить, прошу помочь в этом вопросе.

  Ответить  
 
 автор: Slo_Nik   (09.02.2012 в 17:49)   письмо автору
 
   для: mabelrod   (09.02.2012 в 17:33)
 

Вот небольшой примерчик

<?php
$path 
'ваша_директория';
$file opendir($path);
while(
false !== ($files readdir($file))){
  if(
$files != "." && $files != ".."){
    echo  
$files;
  }   
}
closedir($file);

  Ответить  
 
 автор: mabelrod   (09.02.2012 в 17:59)   письмо автору
 
   для: Slo_Nik   (09.02.2012 в 17:49)
 

это не то ... гигов 10 вряд ли быстро пройдет ... только тормоза сделает.

  Ответить  
 
 автор: cheops   (09.02.2012 в 18:29)   письмо автору
 
   для: mabelrod   (09.02.2012 в 17:59)
 

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

  Ответить  
 
 автор: alexander95   (09.02.2012 в 23:13)   письмо автору
 
   для: cheops   (09.02.2012 в 18:29)
 

а как насчет создания единой карты директории?

  Ответить  
 
 автор: cheops   (09.02.2012 в 23:31)   письмо автору
 
   для: alexander95   (09.02.2012 в 23:13)
 

Что имеется в виду под картой директории?

  Ответить  
 
 автор: alexander95   (10.02.2012 в 18:12)   письмо автору
 
   для: cheops   (09.02.2012 в 23:31)
 

Что-то вроде sitemap.xml
Как-то так:

<dir name="/">
    <dir name="srv">
        <file name="index.php"/>
    </dir>
    <file name="asa.asa"/>
</dir>

ну и парсить по надобности.

  Ответить  
 
 автор: cheops   (11.02.2012 в 11:42)   письмо автору
 
   для: alexander95   (10.02.2012 в 18:12)
 

Так его тоже надо составить, исходная задача как раз и состоит в том, чтобы построить такое дерево, только в базе данных.

  Ответить  
Rambler's Top100
вверх

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