Content · Programming · PHP

PHP dir() Function: Usage and Examples

Learn how PHP dir works with practical examples, important behavior, relevant alternatives and common mistakes.

1 views Published Oct 16, 2026 Updated Oct 16, 2026

Opens a directory and returns a Directory object for reading entries.

What Is dir() in PHP?

Opens a directory and returns a Directory object for reading entries.

Its syntax is:

dir(string $directory, ?resource $context = null): Directory|false

Parameters:

  • $directory — Accepted as string; required argument.
  • $context — Accepted as ?resource; optional default null.

Return type: Directory|false. Always close the directory handle and account for permission failures; directory entries are not sorted.

Availability: Requires filesystem read permissions.

Example 1: Basic Usage

<?php

$directory = dir(sys_get_temp_dir()); if ($directory !== false) { echo get_debug_type($directory); $directory->close(); }

Output:

Directory

Always close the directory handle and account for permission failures; directory entries are not sorted.

Example 2: A Different Input

<?php

$directory = dir("."); if ($directory !== false) { echo $directory->path; $directory->close(); }

Output:

.

Always close the directory handle and account for permission failures; directory entries are not sorted.

Practical Example: Applying It in a Program

<?php

$directory = dir(sys_get_temp_dir()); if ($directory !== false) { while (($entryName = $directory->read()) !== false) { if ($entryName !== "." && $entryName !== "..") { echo $entryName; break; } } $directory->close(); }

Output:

default.pa

Always close the directory handle and account for permission failures; directory entries are not sorted.

Important Behavior and Edge Cases

  • Key behavior: Always close the directory handle and account for permission failures; directory entries are not sorted.
  • Environment: Requires filesystem read permissions.

Comparison With Related Functions

FunctionPurpose
dir()Opens a directory and returns a Directory object for reading entries.
opendir()opendir() creates a directory handle; closedir() closes it.

Common Beginner Mistakes

MistakeCorrect Approach
Ignoring this behavior: Always close the directory handle and account for permission failures; directory entries are not sortedAlways close the directory handle and account for permission failures; directory entries are not sorted.

Key Takeaways

  • Opens a directory and returns a Directory object for reading entries.
  • Always close the directory handle and account for permission failures; directory entries are not sorted.
  • Requires filesystem read permissions.

Summary: Always close the directory handle and account for permission failures; directory entries are not sorted.

Share this resourceSend this page to someone who may find it useful.