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
| Function | Purpose |
|---|---|
dir() | Opens a directory and returns a Directory object for reading entries. |
opendir() | opendir() creates a directory handle; closedir() closes it. |
Common Beginner Mistakes
| Mistake | Correct Approach |
|---|---|
| Ignoring this behavior: Always close the directory handle and account for permission failures; directory entries are not sorted | Always 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.