Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: список директорий
Форумы портала PHP.SU » » Работа с файловой системой и файлами » список директорий

Страниц (1): [1]
 

1. Bio man - 05 Августа, 2011 - 11:07:00 - перейти к сообщению
как сделать скан папки, что бы все имена подпапок заносились в массив? пример: есть папка html, в ней папки которые не где не фиксируются, тоесть могут добавлятся, удалятся итд. нужно в папке html найти все папки. как сделать?
(Добавление)
или проще и производительней будет фиксировать все в БД в отдельной таблице?
2. alexlasto - 05 Августа, 2011 - 13:03:14 - перейти к сообщению
Вот посмотри, может подойдет

PHP:
скопировать код в буфер обмена
  1. function ShowCategory ()
  2. {
  3. $i=0;
  4. $handle_content = opendir ('content/'); // content меняешь на html - твоя папка
  5.  
  6. while ($cat = readdir ($handle_content))
  7.         {      
  8.                
  9.                 if (preg_match('/^[a-z0-9\-]+$/', $cat) == true)        //пример названий папок: moi-idei , zarabotok-v-seti...
  10.                 //названия папок писать только английскими буквами, а при разделении слов использовать дефис ('/^[a-z0-9\-]+$/')
  11.                 {      
  12.                        
  13.                         $folders[$i] =$cat;
  14.                         $i++;          
  15.                 }
  16.         }
  17. closedir($handle_content);
  18. return $folders;
  19. }
  20.  
  21. $folders = ShowCategory ();
  22.  
  23. echo '<pre>';
  24. print_r ($folders);
  25. echo '<pre>';
  26.  
  27. /*
  28. Получишь массив с папками ( данные просто пример =) )
  29.  
  30. Array
  31. (
  32.     [0] => best-music
  33.     [1] => life-hak
  34.     [2] => pop-up
  35.     [3] => popular-post
  36. )
  37.  
  38. */


Эта просто выводит папки

PHP:
скопировать код в буфер обмена
  1. //формирует и выводит список категорий-папок
  2. // можно доработать функцию с помощью рекурсии
  3. function ShowCategory ()
  4. {
  5.  
  6. $handle_content = opendir ('content/'); // content меняешь на html - твоя папка
  7.  
  8. while ($cat = readdir ($handle_content))
  9.         {      
  10.                
  11.                 if (preg_match('/^[a-z0-9\-]+$/', $cat) == true)        //пример названий папок: moi-idei , zarabotok-v-seti...
  12.                 //названия папок писать только английскими буквами, а при разделении слов использовать дефис ('/^[a-z0-9\-]+$/')
  13.                 {      
  14.                        
  15.                         echo "<li><a href='index.php?cat=$cat'>Название папки - $cat</a></li>";
  16.                                        
  17.                 }
  18.         }
  19. closedir($handle_content);
  20.  
  21. }
3. DeepVarvar - 05 Августа, 2011 - 13:08:00 - перейти к сообщению
glob
4. Bio man - 06 Августа, 2011 - 10:22:45 - перейти к сообщению
спасибо. что лучше будет, сделать таким способом или через таблицу БД? то есть за рание записывать путь в БД

 

Powered by ExBB FM 1.0 RC1