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 :: Как сканировать файлы и папки [2]

 PHP.SU

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


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

> Без описания
tundramani
Отправлено: 01 Ноября, 2018 - 15:52:12
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2018  


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




Строитель пишет:
tundramani, ну тогда вооружайтесь терпением и вперёд исправлять ошибки )


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

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

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

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

надо в этом коде добавить обрезку расширения

(Отредактировано автором: 01 Ноября, 2018 - 16:51:47)

 
 Top
Строитель Модератор
Отправлено: 01 Ноября, 2018 - 16:58:21
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




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';
 
 Top
tundramani
Отправлено: 01 Ноября, 2018 - 17:04:14
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2018  


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




Спасибо, Строитель!

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



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

надо урезать этот код так чтобы получить только имена папок в папке Документы

(Отредактировано автором: 01 Ноября, 2018 - 17:13:46)

 
 Top
Строитель Модератор
Отправлено: 01 Ноября, 2018 - 17:54:35
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




tundramani пишет:
надо урезать этот код так чтобы получить только имена папок в папке Документы
А структура json при этом какой должна принять вид?
 
 Top
tundramani
Отправлено: 01 Ноября, 2018 - 18:09:25
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2018  


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




Строитель пишет:
tundramani пишет:
надо урезать этот код так чтобы получить только имена папок в папке Документы
А структура json при этом какой должна принять вид?


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

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

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

назвать так:

"как сканировать файлы и папки"

(Отредактировано автором: 01 Ноября, 2018 - 18:21:38)

 
 Top
Строитель Модератор
Отправлено: 01 Ноября, 2018 - 18:18:05
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




Спойлер (Отобразить)
tundramani пишет:
может быть переименовать тему
Да как угодно )
 
 Top
tundramani
Отправлено: 01 Ноября, 2018 - 19:43:45
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2018  


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




так?

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

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 можно поставить: "/" ?

(Отредактировано автором: 01 Ноября, 2018 - 20:11:47)

 
 Top
Строитель Модератор
Отправлено: 01 Ноября, 2018 - 20:23:21
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


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




tundramani пишет:
вместо DIRECTORY_SEPARATOR можно поставить: "/" ?
Да.
 
 Top
tundramani
Отправлено: 01 Ноября, 2018 - 21:04:41
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Окт. 2018  


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




Строитель все работает
спасибо еще раз!
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB