Either scandir() as suggested elsewhere or 
glob() — Find pathnames matching a pattern 
Example
$images = glob("./images/*.gif");
print_r($images);
/* outputs 
Array (
   [0] => 'an-image.gif' 
   [1] => 'another-image.gif'
)
*/
Or, to walk over the files in directory directly instead of getting an array, use 
Example
foreach (new DirectoryIterator('.') as $item) {
    echo $item, PHP_EOL;
} 
To go into subdirectories as well, use RecursiveDirectoryIterator:
$items = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator('.'),
    RecursiveIteratorIterator::SELF_FIRST
);
foreach($items as $item) {
    echo $item, PHP_EOL;
}
To list just the filenames (w\out directories), remove RecursiveIteratorIterator::SELF_FIRST