Script conta numero di file in una directory

  • Creatore Discussione Creatore Discussione atonyc
  • Data di inizio Data di inizio

atonyc

Utente Attivo
10 Dic 2008
67
0
0
Come da titolo mi servirebbe uno script che conti il numero di file con una determinata estensione (ad esempio txt) in una directory e nelle varie sotto direcory.

grazie in anticipo
 
Ecco qui, testato e funzionante:
PHP:
<?php
class files
{
	private function check_ext($file, $correct)
	{
		$exp = explode('.', $file);
		$exp = $exp[count($exp) - 1];

		if($exp != $correct)
			return false;
		return true;
	}

	function count_files($directory, $extension)
	{
		if(!is_dir($directory))
			die('La directory scelta è inesistente.');

		$op = opendir($directory);
		$count = 0;

		while(false !== ($read = readdir($op)))
		{
			if($read == '.' || $read == '..')
				continue;

			if(is_dir("{$directory}/{$read}"))
				$count += $this->count_files("{$directory}/{$read}", $extension);
			elseif(file_exists("{$directory}/{$read}") && $this->check_ext($read, $extension))
				$count += 1;
		}

		closedir($op);
		return $count;
	}
}
?>
Un esempio di utilizzo:
PHP:
<?php
$f = new files();
echo $f->count_files('test');
?>
Visualizza il numero di file nella directory test.
 

Discussioni simili