Slide 75
Slide 75 text
function traverse_directory( $path, $exts ) {
$file_list = array();
$handle = opendir( $path );
if ( $handle ) {
while ( $filename = readdir( $handle ) ) !== false ) {
if ( strpos( $filename, '.' ) === 0 ) {
continue;
}
if ( is_file( $path . $filename ) ) {
$ext = substr( $filename, ( strpos( $filename, '.' ) + 1 ) );
if ( in_array ( $ext, $exts ) ) {
$file_list[] = $path. $filename;
}
} elseif ( is_dir( $path . $filename ) ) {
traverse_directory( $path . $filename, $exts );
}
}
closedir( $handle );
}
return $file_list;
}
$file_list = traverse_directory( $path );
foreach ( $file_list as $file ) {
// Do something.
}
$directory = new RecursiveDirectoryIterator( $path );
$flattened = new RecursiveIteratorIterator( $directory, RecursiveIteratorIterato
$exts = array_map( 'preg_quote', $exts, array_fill( 0, count( $exts ), '`'
$exts = implode( '|', $exts );
$regex = '`^(?!(.*/)?\.+$).*\.(' . $exts . ')$`Dix';
$filtered = new RegexIterator( $flattened, $regex );
foreach ( $filtered as $file ) {
// Do something.
}