Функция 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,
    которая возвращает список файлов и директорий в виде массива