@Jony1337

Почему не работает код в php?

Показывает 0 , но в папке images , 7 картинок
<?php   
  // Переменная для подсчёта  
  $count = 0;  
  // Открываем директорию   
  $dir = opendir("../alx2/images");   
  // В цикле считываем её содержимое   
  while(($file = readdir($dir)))   
  {   
    // Если текущий объект является файлом - считаем его   
    if(is_file($file)) ++$count;   
  }   
  // Закрываем директорию   
  closedir($dir);   
  echo " Число картинок- ".$count;  
?>
  • Вопрос задан
  • 182 просмотра
Пригласить эксперта
Ответы на вопрос 3
Melkij
@Melkij
PostgreSQL DBA
readdir возвращает имя элемента. Имя, а не путь к этому элементу.
Где вы сказали is_file, что такое имя файла надо искать в директории ../alx2/images, а не в текущей?

Чтобы не извращаться разными способами в стиле PHP4 - используйте штатный DirectoryIterator. Код будет компактнее и понятнее.
Ответ написан
Комментировать
333Serega333
@333Serega333
333Serega333
Условие в цикле не срабатывает.
Надо так:
while (false !== ($file = readdir($handle))) {
     if(is_file($file)) ++$count;
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы