Using your code:
chdir( 'pasta_desejada' );
$arquivos = glob("{*.png,*.jpg,*.jpeg,*.bmp,*.gif}", GLOB_BRACE);
foreach($arquivos as $img) echo $img;
Using the standard functions for PHP directories:
$types = array( 'png', 'jpg', 'jpeg', 'gif' );
if ( $handle = opendir('pasta_desejada') ) {
while ( $entry = readdir( $handle ) ) {
$ext = strtolower( pathinfo( $entry, PATHINFO_EXTENSION) );
if( in_array( $ext, $types ) ) echo $entry;
}
closedir($handle);
}
You have this possibility too:
$types = array( 'png', 'jpg', 'jpeg', 'gif' );
$path = 'pasta_desejada';
$dir = new DirectoryIterator($path);
foreach ($dir as $fileInfo) {
$ext = strtolower( $fileInfo->getExtension() );
if( in_array( $ext, $types ) ) echo $fileInfo->getFilename();
}
See the 3 code snippets working on IDEONE.
Notes:
In PHP < 5.3.6, the 3rd example needs to be changed:
$ext = strtolower( pathinfo( $fileInfo->getFilename(), PATHINFO_EXTENSION) );
In the case of the 2nd and 3rd examples, do not put the same extension in upper and lower case. Only lower case, because the strtolower
is already normalizing file extensions.
Possible duplicate of Folder browsing in PHP
– Daniel Omine
@Danielomine That is recursive, facing directory trees and not simple folders. I thought it was important to have a specific and objective answer for folders. I imagine it’s much easier to adapt this one to a user who needs a simple solution than someone understanding what to remove from it. IN TIME: I don’t think you voted wrong, I just understand that the problem is different enough to be separate questions. But whatever the community decides.
– Bacco