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
Philipp W. gnurepublic_at_linuxmail.org
30-Jul-2007 06:49
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();
    }

}
?>
DieselDriver at edu dot uni-klu dot ac dot at
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";
    }
 }