Codice PHP:
try {
$d = new dirWrapper();
$tree = $d->__getDirectory( 'files/' );
print_r( $tree );
}
catch( customException $e ) {
echo $e->__showMessage();
}
si lo so..
ma a pensarci bene forse sto chiedendo troppa iteratività al php.. mi sà che mi toca gestirmi con ajax..
a spiegarla bene la cosa sarebbe che voglio visualizzare alcuni messaggi di "stato" durante l'esecuzione del codice php quindi per ogni operazione eseguita sui metodi delle classi mostrare di volta in volta cosa stà facendo lo script quindi per l'esempio sopra se consideriamo la classe "dirWrapper" come una classe di lettura delle cartelle fare tipo:
Codice PHP:
public function __getDirectory( $directory ) {
if ( $handle = opendir( $directory ) ) {
throw new customException( 'leggo directory', 2);
$size = 0;
$folders = 0;
$files = 0;
while ( FALSE !== ( $file = readdir( $handle ) ) ) {
throw new customException( 'leggo cartelle', 2);
if ( $file != "." && $file != ".." ) {
if ( is_dir( $directory . $file ) ) {
throw new customException( $directory . ' è una cartella', 2);
$array = $this->__getDirectory( $directory . $file . '/' );
$size += $array['size'];
$files += $array['files'];
$folders += $array['folders'];
} else {
$size += filesize( $directory . $file );
$files++;
}
}
}
closedir( $handle );
}
$folders++;
return array( 'size' => $size, 'files' => $files, 'folders' => $folders );
}
ho semplificato un pò le cose ma a grandi linee si dovrebbe capire... ripetendo vorrei dire alla classe customException che se trova un "messaggio di stato" me lo mostra ma continua ad eseguire il codice..