Функция opendir

Функцията opendir отваря указаната директория и връща нейния дескриптор (ресурс), който след това се използва с функции за четене на съдържанието на директорията. След приключване на работата с директорията тя трябва да бъде затворена с помощта на closedir.

Синтаксис

phpopendir(string $path, resource $context = null): resource|false

Пример

Основно използване на opendir:

php<?php
  $dir = opendir('/path/to/directory');
  
  if ($dir) {
    while (($file = readdir($dir)) !== false) {
      echo $file . "\n";
    }
    closedir($dir);
  }
?>

Резултат от изпълнението на кода (примерен изход):

php"."
".."
"file1.txt"
"subdirectory"

Пример

Обработка на грешка при отваряне на директория:

php<?php
  $dir = opendir('/nonexistent/path');
  if ($dir === false) {
    echo "Неуспешно отваряне на директория";
  } else {
    // Работа с директорията
    closedir($dir);
  }
?>

Резултат от изпълнението на кода:

php"Неуспешно отваряне на директория"

Пример

Използване с контекст на поток:

php<?php
  $context = stream_context_create();
  $dir = opendir('ftp://user:password@example.com/', $context);
  if ($dir) {
    // Четене на съдържанието на FTP директория
    closedir($dir);
  }
?>

В този пример се отваря връзка с FTP сървър за четене на съдържанието на отдалечена директория.

Вижте също

  • функцията readdir,
    която чете съдържанието на отворена директория
  • функцията closedir,
    която затваря дескриптора на директорията
  • функцията scandir,
    която връща списък с файлове и директории под формата на масив