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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Список вложенных папок и файлов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Как получить список вложенных папок и файлов
Конструктор
Отправлено: 30 Сентября, 2011 - 19:59:23
Post Id



Частый гость


Покинул форум
Сообщений всего: 128
Дата рег-ции: Апр. 2010  


Помог: 1 раз(а)




Есть папка на сервере,
как получить список всех папок и файлов в этих папках?
(Добавление)
Конструктор пишет:
Есть папка на сервере,
как получить список всех папок и файлов в этих папках?

Пока посоветовали использовать scandir
буду пробовать юзать..

(Отредактировано автором: 30 Сентября, 2011 - 19:59:52)



-----
Если все время идти вперед, до цели будет немного ближе..
 
 Top
OrmaJever
Отправлено: 30 Сентября, 2011 - 20:55:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)






-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Конструктор
Отправлено: 04 Октября, 2011 - 02:29:28
Post Id



Частый гость


Покинул форум
Сообщений всего: 128
Дата рег-ции: Апр. 2010  


Помог: 1 раз(а)





По ссылке довольно компактное и красивое решение..
но мне нужно дерево файлов и элементы массива содержащие просто папки не должны быть. В общем у меня так получилось. Хотелось бы услышать конструктивные замечания..
PHP:
скопировать код в буфер обмена
  1.  
  2. function files_tree($path) {   
  3.         $array = scandir($path);
  4.         $array = array_splice($array, 2); /* Удаляем 2 первых элемента массива - "." и ".." */ 
  5.         $i = 0;
  6.         while ( $i < count($array) ) {                 
  7.                 if ( is_dir($array[$i]) ) {
  8.                         $array_tmp = scandir($array[$i]);
  9.                         $array_tmp = array_splice($array_tmp, 2); /* Удаляем 2 первых элемента массива - "." и ".." */                 
  10.                         for ($k = 0; $k < count($array_tmp); $k++) {
  11.                                 $array_tmp[$k] = $array[$i] . DIRECTORY_SEPARATOR . $array_tmp[$k];
  12.                         }
  13.                         unset( $array[$i] );                                   
  14.                         $array = array_values($array);
  15.                         $array = array_merge($array_tmp, $array);                        
  16.                         $i = 0;                
  17.                 }
  18.                 $i++;          
  19.         }
  20.         return $array;
  21. }
  22.  

(Отредактировано автором: 04 Октября, 2011 - 02:31:55)



-----
Если все время идти вперед, до цели будет немного ближе..
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB