8

What should be done to get titles (eg abc.jpg) of images from a folder/directory using PHP and storing them in an array.

For example:

a[0] = 'ac.jpg'
a[1] = 'zxy.gif'

etc.

I will be using the array in a slide show.

mattcan
  • 540
  • 12
  • 30
Hammad Khalid
  • 538
  • 3
  • 7
  • 21

4 Answers4

13

It's certainly possible. Have a look at the documentation for opendir and push every file to a result array. If you're using PHP5, have a look at DirectoryIterator. It is a much smoother and cleaner way to traverse the contents of a directory!

EDIT: Building on opendir:

$dir = "/etc/php5/";

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        $images = array();

        while (($file = readdir($dh)) !== false) {
            if (!is_dir($dir.$file)) {
                $images[] = $file;
            }
        }

        closedir($dh);

        print_r($images);
    }
}
Leonard
  • 3,012
  • 2
  • 31
  • 52
5

'scandir' does this:

$images = scandir($dir);
Evert
  • 93,428
  • 18
  • 118
  • 189
5

One liner :-

$arr = glob("*.{jpg,gif,png,bmp}", GLOB_BRACE) 
ajreal
  • 46,720
  • 11
  • 89
  • 119
4

glob in php - Find pathnames matching a pattern

<?php
    //path to directory to scan
    $directory = "../images/team/harry/";
    //get all image files with a .jpg extension. This way you can add extension parser
    $images = glob($directory . "{*.jpg,*.gif}", GLOB_BRACE);
    $listImages=array();
    foreach($images as $image){
        $listImages=$image;
    }
?>
Wazy
  • 8,822
  • 10
  • 53
  • 98