| Server IP : 3.138.164.131 / Your IP : 216.73.216.136 Web Server : Apache System : Linux ns1.techtime.me 4.18.0-147.8.1.el8.lve.1.x86_64 #1 SMP Mon Jun 29 09:55:57 EDT 2020 x86_64 User : injazaat ( 1471) PHP Version : 8.1.20 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/alt-php54/root/usr/share/doc/pear/Base/docs/ |
Upload File : |
<?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 );
?>