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 :: Версия для печати :: Как сканировать файлы и папки [2]
Форумы портала PHP.SU » » Вопросы новичков » Как сканировать файлы и папки

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

16. tundramani - 01 Ноября, 2018 - 15:52:12 - перейти к сообщению
Строитель пишет:
tundramani, ну тогда вооружайтесь терпением и вперёд исправлять ошибки )


попробую обновить MAMP - ваш кот ведь без ошибок уверен ))
(Добавление)
Строитель спасибо!

я нашел ошибку и всё заработало

php 5.3.5 - только это встало на мой старенький мак

и еще просьба:

надо в этом коде добавить обрезку расширения
17. Строитель - 01 Ноября, 2018 - 16:58:21 - перейти к сообщению
tundramani
PHP:
скопировать код в буфер обмена
  1. $dir = __DIR__ . '/documents';
  2. $object = [];
  3.  
  4. foreach (scandir($dir) as $item) {
  5.     $temp = $dir . DIRECTORY_SEPARATOR . $item;
  6.     if ($item != '.' && $item != '..' && is_dir($temp)) {
  7.         foreach (scandir($temp) as $elem) {
  8.             if ($elem != '.' && $elem != '..' && strstr($elem, '.') == '.html') {
  9.                 $object[$item] = strstr($elem, '.', true);
  10.             }
  11.         }
  12.     }
  13. }
  14.  
  15. $json = json_encode($object);
  16. print_r( $json );

(Добавление)
Подправите код под вашу версию PHP, и не забудьте при необходимости подкорректировать $dir = __DIR__ . '/documents';
18. tundramani - 01 Ноября, 2018 - 17:04:14 - перейти к сообщению
Спасибо, Строитель!

беру этот код в свое дело
однако не понимаю как он работает - магия
не понимаю как в обьекте образуются пары ключ:значение
но я foreach еще не пользовался и в js - покумекаю..



еще последняя просьба в этой теме:

надо урезать этот код так чтобы получить только имена папок в папке Документы
19. Строитель - 01 Ноября, 2018 - 17:54:35 - перейти к сообщению
tundramani пишет:
надо урезать этот код так чтобы получить только имена папок в папке Документы
А структура json при этом какой должна принять вид?
20. tundramani - 01 Ноября, 2018 - 18:09:25 - перейти к сообщению
Строитель пишет:
tundramani пишет:
надо урезать этот код так чтобы получить только имена папок в папке Документы
А структура json при этом какой должна принять вид?


просто список имен только папок в указанной папке:

[
"имя",
"имя",
"имя"
]

может быть переименовать тему - чтобы еще кому пригодилось

назвать так:

"как сканировать файлы и папки"
21. Строитель - 01 Ноября, 2018 - 18:18:05 - перейти к сообщению
Спойлер (Отобразить)
tundramani пишет:
может быть переименовать тему
Да как угодно )
22. tundramani - 01 Ноября, 2018 - 19:43:45 - перейти к сообщению
так?

но надо не обьект а массив

PHP:
скопировать код в буфер обмена
  1.  
  2. $dir = './документы';
  3. $object = array();
  4.  
  5. foreach (scandir($dir) as $item)
  6.     {
  7.         $temp = $dir . DIRECTORY_SEPARATOR . $item;
  8.  
  9.         if ($item != '.' && $item != '..' && is_dir($temp))
  10.         {
  11.             $object[] = $item;
  12.         }
  13.     }
  14.  


вместо DIRECTORY_SEPARATOR можно поставить: "/" ?
23. Строитель - 01 Ноября, 2018 - 20:23:21 - перейти к сообщению
tundramani пишет:
вместо DIRECTORY_SEPARATOR можно поставить: "/" ?
Да.
24. tundramani - 01 Ноября, 2018 - 21:04:41 - перейти к сообщению
Строитель все работает
спасибо еще раз!

 

Powered by ExBB FM 1.0 RC1