Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2011, 09:58   #1
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
Вопрос is_dir()

Здравствуйте, есть код
PHP код:
foreach($a as $val) {

   
clearstatcache();
   
var_dump(is_dir($val)) . "\n"; echo('dir - '.$val.'<br>');
   
var_dump(is_file($val)) . "\n"; echo('file - '.$val.'<br>');
   
var_dump(is_link($val)) . "\n"; echo('link - '.$val.'<br>');

Массив содержит имена папок.
но на выходе получаю:
Цитата:
bool(false) dir - album1
bool(false) file - album1
bool(false) link - album1
bool(false) dir - album2
bool(false) file - album2
bool(false) link - album2
bool(true) dir - img
bool(false) file - img
bool(false) link - img
Почему не определяет другие папки?
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 25.11.2011, 10:22   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Ghost of Night Посмотреть сообщение
Почему не определяет другие папки?
Опишите структуру каталогов в директории, где работает данный скрипт.

Абсолютные и относительные пути
Andkorol вне форума Ответить с цитированием
Старый 25.11.2011, 10:44   #3
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Скрипт расположен на php хостинге nx0.ru
в папке img лежат изображения, и ещё 2 папки. В остальных просто файлы с описанием.
При вызове скрипт открывает корневую папку на сайте /home/.../..../www/
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 25.11.2011, 10:56   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

А каталоги, которые не определяются - где они расположены?

Цитата:
Сообщение от Ghost of Night Посмотреть сообщение
в папке img лежат изображения, и ещё 2 папки.
Эти "ещё 2 папки" внутри каталога img - это и есть ваши не определяемые album1 и album 2..?
Они находятся внутри каталога img?
Andkorol вне форума Ответить с цитированием
Старый 25.11.2011, 11:03   #5
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

.../www/img
.../www/img/alb1
.../www/img/alb2
.../www/album1
.../www/album2

каталоги img,album1,album2 Лежат в одной папке, но определяется только img....
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 25.11.2011, 11:21   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,166
По умолчанию

для определения папок внутри папок - необходимо писать рекурсивную процедуру для обхода вложенных папок
ADSoft вне форума Ответить с цитированием
Старый 25.11.2011, 12:03   #7
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Можно сделать поиск файлов и папок по маске с помощью функции glob
пример с одного портала.
Код:
foreach(glob(dirname(__FILE__).'/routing/*.routing.yml') as $filename)
  include($filename);
psycho-coder вне форума Ответить с цитированием
Старый 25.11.2011, 12:48   #8
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Это всё не то...
У меня есть скрипт, он загоняет в массив содержимое папки функцией readdir();
Дальше пробегает по массиву и смотрит если это папка, то выводится один линк, если это файл, то другой линк.
Мне просто надо определить, содержит переменная
Цитата:
$val
из цикла
Цитата:
foreach($a as $val){..}
название папки или название файла.
Для этого есть функция is_dir()/is_file но они не верно отображают данные, из 3-х папок видят только одну, а остальные 2 вообще не понятно чем являются.
Поэтому в первом посте я и смотрел, что это папка, файл, или ссылка....
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 26.11.2011, 00:10   #9
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Ну так что? Тема всё ещё актуальна...
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 26.11.2011, 00:16   #10
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Попробуйте DirectoryIterator или scandir
Cronos20 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
is_file is_dir BloodWizard PHP 7 27.07.2010 17:59