to actually sort a directoryiterator you need to subclass the iterator and use a comparator function similar to this one
<?php
function cmpSPLFileInfo( $splFileInfo1, $splFileInfo2 )
{
return strcmp( $splFileInfo1->getFileName(), $splFileInfo2->getFileName() );
}
class DirList extends RecursiveDirectoryIterator
{
private $dirArray;
public function __construct( $p )
{
parent::__construct( $p );
$this->dirArray = new ArrayObject();
foreach( $this as $item )
{
$this->dirArray->append( $item );
}
$this->dirArray->uasort( "cmpSPLFileInfo" );
}
public function getIterator()
{
return $this->dirArray->getIterator();
}
}
?>
DirectoryIterator::isFile
(PHP 5 <= 5.1.1)
DirectoryIterator::isFile — Returns true if file is a regular file
Description
bool DirectoryIterator::isFile
( void
)
Aviso
Esta função não está documentada, somente a lista de argumentos está disponível.
User Contributed Notes
DirectoryIterator::isFile
DirectoryIterator::isFile
Philipp W. gnurepublic_at_linuxmail.org
30-Jul-2007 06:49
30-Jul-2007 06:49
DieselDriver at edu dot uni-klu dot ac dot at
24-Apr-2007 12:17
24-Apr-2007 12:17
shows all .jpg files in the current directory but how does the DirectoryIterator sort the output!?
$dir=new DirectoryIterator("./");
foreach ($dir as $file) {
if ($dir->isDot()) {continue;} //removes . and ..
if (strripos($file,".jpg")==true) {
echo $file . "<br>\n";
}
}

DirectoryIterator::isExecutable