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 :: RecursiveIteratorIterator and unreadable folder

 PHP.SU

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


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

> Без описания
bestbios
Отправлено: 09 Октября, 2014 - 22:20:52
Post Id



Гость


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


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




В общем та такая история:

CODE (htmlphp):
скопировать код в буфер обмена
  1. $di = new RecursiveDirectoryIterator('dir');
  2. $Iterator = new RecursiveIteratorIterator($di, RecursiveIteratorIterator::CATCH_GET_CHILD);
  3.  


CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. ls -la dir
  3. total 631
  4. drwxrwxrwx 18 username  username   4096 Oct  9 21:06 .
  5. drwxr-xr-x 25 root             root           4096 Sep 30 00:20 ..
  6. drwxr-x---  3  username  username   4096 Nov  3  2011 download
  7. ...
  8. -rwx------  1  username  username   1175 Jan 27  2014 file.txt
  9.  


Из-за того, что папка лежит в рутовом каталоге (..) итератор проскакиевает ее содержимое (благодаря CATCH_GET_CHILD, а так вообще вылетает).

Как бы мне проитерировать все содержимое каталога?

(Отредактировано автором: 09 Октября, 2014 - 22:24:02)

 
 Top
esterio
Отправлено: 09 Октября, 2014 - 22:26:10
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




только дать права
 
 Top
bestbios
Отправлено: 09 Октября, 2014 - 22:36:21
Post Id



Гость


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


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




[quote=esterio][/quote]

Может всетаки есть какое-то решение?

А то печально выходит: Скрипт три дня писался, и уже во время отдалки выловилась эта бага.
 
 Top
esterio
Отправлено: 10 Октября, 2014 - 01:23:30
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




смотрите юникс система имеет разграничение прав. пхп запущен от имени какого-то пользователя (веб-сервера например в случае mod_php). если тот пользователь не иеет право на чтение какого-то файла/директории, то как ПХП сможет прочитать? а еще если учитивать конфигурацию open_basedir то вообще триндец вашей программе, если она захочет забраться вишу казаного каталога. вот такие дела )
 
 Top
bestbios
Отправлено: 21 Ноября, 2014 - 15:14:44
Post Id



Гость


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


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




esterio пишет:
смотрите юникс система имеет разграничение прав. пхп запущен от имени какого-то пользователя (веб-сервера например в случае mod_php). если тот пользователь не иеет право на чтение какого-то файла/директории, то как ПХП сможет прочитать? а еще если учитивать конфигурацию open_basedir то вообще триндец вашей программе, если она захочет забраться вишу казаного каталога. вот такие дела )


Обошел обработкой эксепшинов, там проблема была в том, что класс сначала смотрит . и .. каталоги, которые в никсах первыми выводятся.
 
 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