Функция для подсчета файлов в определенном каталоге.

 

/**
* Возвращает количество файлов или каталогов в директории
*
* @param string $directory
* @param int $flag если 0 то показывать файлы, 1 каталоги
* @param boolean $glob если true то использовать glob() для чтения каталогов
*
* @return int
*
* @charset ANSI
* @author ENTER , icq 633748
* @version 1
 */
function countdir($directory,$flag=0,$glob=false)
{
 GLOBAL $count; if (!is_dir($directory))
 exit('not found dir <b>'.$directory.'</b>');
 if ($glob != TRUE)
 {
 if (substr(PHP_VERSION,0,1) != 5)
 {
 $dir = opendir($directory);
 while (false !== ($file = readdir($dir)))
 {
 $ms[]=$file;
 }
 }
 else
 {
 [email protected]($directory);
 }
 }
 else
 {
 $cwd = getcwd();
 chdir($directory);
 $ms = glob("*");
 chdir($cwd);
 }
 foreach($ms as $file)
 {
 if ($flag == 1)
 {
 if(is_dir("$directory/$file")&&$file!=="."&&$file!=="..")
 {
 $count++;
 countdir("$directory/$file",1);
 }
 }
 else
 {
 if(is_file("$directory/$file"))
 {
 $count++;
 }
 else if(is_dir("$directory/$file")&&$file!=="."&&$file!=="..")
 {
 countdir("$directory/$file",$count);
 }
 }
 }
 if (!$count)$count=0;return $count;
}
/*
//example
print countdir("..",0);
 */

You must be logged in to leave a reply.