# The DirectoryIterator class

(PHP 5, PHP 7)

## Introduction

The DirectoryIterator class provides a simple interface for viewing the contents of filesystem directories.

## Class synopsis

DirectoryIterator extends SplFileInfo implements SeekableIterator {
/* Methods */
public __construct ( string `$path` )
public current ( void ) : DirectoryIterator
public getATime ( void ) : int
public getBasename ([ string `$suffix` ] ) : string
public getCTime ( void ) : int
public getExtension ( void ) : string
public getFilename ( void ) : string
public getGroup ( void ) : int
public getInode ( void ) : int
public getMTime ( void ) : int
public getOwner ( void ) : int
public getPath ( void ) : string
public getPathname ( void ) : string
public getPerms ( void ) : int
public getSize ( void ) : int
public getType ( void ) : string
public isDir ( void ) : bool
public isDot ( void ) : bool
public isExecutable ( void ) : bool
public isFile ( void ) : bool
public isLink ( void ) : bool
public isReadable ( void ) : bool
public isWritable ( void ) : bool
public key ( void ) : string
public next ( void ) : void
public rewind ( void ) : void
public seek ( int `$position` ) : void
public __toString ( void ) : string
public valid ( void ) : bool
}

## Changelog

Version | Description
--- | ---
5.1.2 | DirectoryIterator extends SplFileInfo.

## Table of Contents

- DirectoryIterator::__construct — Constructs a new directory iterator from a path
- DirectoryIterator::current — Return the current DirectoryIterator item
- DirectoryIterator::getATime — Get last access time of the current DirectoryIterator item
- DirectoryIterator::getBasename — Get base name of current DirectoryIterator item
- DirectoryIterator::getCTime — Get inode change time of the current DirectoryIterator item
- DirectoryIterator::getExtension — Gets the file extension
- DirectoryIterator::getFilename — Return file name of current DirectoryIterator item
- DirectoryIterator::getGroup — Get group for the current DirectoryIterator item
- DirectoryIterator::getInode — Get inode for the current DirectoryIterator item
- DirectoryIterator::getMTime — Get last modification time of current DirectoryIterator item
- DirectoryIterator::getOwner — Get owner of current DirectoryIterator item
- DirectoryIterator::getPath — Get path of current Iterator item without filename
- DirectoryIterator::getPathname — Return path and file name of current DirectoryIterator item
- DirectoryIterator::getPerms — Get the permissions of current DirectoryIterator item
- DirectoryIterator::getSize — Get size of current DirectoryIterator item
- DirectoryIterator::getType — Determine the type of the current DirectoryIterator item
- DirectoryIterator::isDir — Determine if current DirectoryIterator item is a directory
- DirectoryIterator::isDot — Determine if current DirectoryIterator item is '.' or '..'
- DirectoryIterator::isExecutable — Determine if current DirectoryIterator item is executable
- DirectoryIterator::isFile — Determine if current DirectoryIterator item is a regular file
- DirectoryIterator::isLink — Determine if current DirectoryIterator item is a symbolic link
- DirectoryIterator::isReadable — Determine if current DirectoryIterator item can be read
- DirectoryIterator::isWritable — Determine if current DirectoryIterator item can be written to
- DirectoryIterator::key — Return the key for the current DirectoryIterator item
- DirectoryIterator::next — Move forward to next DirectoryIterator item
- DirectoryIterator::rewind — Rewind the DirectoryIterator back to the start
- DirectoryIterator::seek — Seek to a DirectoryIterator item
- DirectoryIterator::__toString — Get file name as a string
- DirectoryIterator::valid — Check whether current DirectoryIterator position is a valid file