forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
require 'tutorial_autoload.php';
 | 
						|
 | 
						|
class myProgressFinder
 | 
						|
{
 | 
						|
    static public function findRecursiveCallback( ezcBaseFileFindContext $context, $sourceDir, $fileName, $fileInfo )
 | 
						|
    {
 | 
						|
        // ignore if we have a directory, but do print a "." and sleep for
 | 
						|
        // extra demo time
 | 
						|
        if ( $fileInfo['mode'] & 0x4000 )
 | 
						|
        {
 | 
						|
            echo ".";
 | 
						|
            usleep( 100000 );
 | 
						|
            return;
 | 
						|
        }
 | 
						|
 | 
						|
        // update the statistics
 | 
						|
        $context->elements[] = $sourceDir . DIRECTORY_SEPARATOR . $fileName;
 | 
						|
        $context->count++;
 | 
						|
        $context->size += $fileInfo['size'];
 | 
						|
    }
 | 
						|
 | 
						|
    static public function findRecursive( $sourceDir, array $includeFilters = array(), array $excludeFilters = array() )
 | 
						|
    {
 | 
						|
        // create the context, and then start walking over the array
 | 
						|
        $context = new ezcBaseFileFindContext;
 | 
						|
        ezcBaseFile::walkRecursive( $sourceDir, $includeFilters, $excludeFilters,
 | 
						|
                array( 'myProgressFinder', 'findRecursiveCallback' ), $context );
 | 
						|
 | 
						|
        // collect the statistics (which we don't do anything with in this example)
 | 
						|
        $statistics['size'] = $context->size;
 | 
						|
        $statistics['count'] = $context->count;
 | 
						|
 | 
						|
        // return the found and pattern-matched files
 | 
						|
        sort( $context->elements );
 | 
						|
        return $context->elements;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
$files = myProgressFinder::findRecursive( dirname( __FILE__ ) );
 | 
						|
var_dump( $files );
 | 
						|
?>
 |