Mailinglisten-Archive |
Hi, At 03:02 26.06.99 +0200, Norbert Pfeiffer wrote: >Probleme bereitet es mir vielmehr, wenn beim Auftraggeber >jemand die Texte festlegt, die jeden Rahmen sprengen. >Hat jemand ein Layout fuer 'enlose'-Ueberschriften ? das Problem hatte ich gestern auch, ich hab mir ein script geschrieben, dass alle .php3/.php/.inc/.html/.htm-Dateien im aktuellen und in allen unterverzeichnissen zählt, jetzt addiert es auch noch die größen endungs-spezifisch... und bei unterverzeichnissen hat man das selbe Problem... da diese ja eigentlich unendlich sein können, nach einiger Denkarbeit kam ich zu der auffassung, das ich eine funktion brauche, die sich selbst wieder aufruft... (ich glaube das nennt man rekursive funktion)... Das ergebnis hab ich als attachment angehängt... vielleicht kann man daraus etwas bauen, das ein array auf die gleiche methode auflöst... Man sollte die Funktion und die Variablen event. auch noch in eine Klasse hauen... Gruss Dante
<? // Source Counter v0.1.1 // Zählt die Anzahl der Dateien im aktuellen und in Unterverzeichnissen, deren Endung beliebig sein kann. // Weiterhin addiert es die Größen dieser Dateien. // TODO: // Ausgabe der Zeilenanzahl. // Bestimmung wieviele der Zeilen und Byte jeweils PHP3-Code sind. // Copyright 1999 by Thomas Feyrer // Dieses Skript darf und soll modifiziert werden, bitte schicken sie eventuelle Veränderungen an: // Dante_(at)_altmuehlnet.de ! Danke... $files = 0; $directorys = 0; $file = array( "php3" => array( "files" => 0, "size" => 0, "lines" => 0 ), "php" => array( "files" => 0, "size" => 0, "lines" => 0 ), "inc" => array( "files" => 0, "size" => 0, "lines" => 0 ), "html" => array( "files" => 0, "size" => 0, "lines" => 0 ), "htm" => array( "files" => 0, "size" => 0, "lines" => 0 ) ); $unknowntype[files] = 0; function dir_explore( $directory ) { global $files, $file, $directorys, $unknowntype; $dir = dir( $directory ); while( $entry = $dir->read() ) { if( $entry == "." || $entry == ".." ) continue; $entry = $directory.$entry; if( is_dir( $entry ) ) { $directorys++; dir_explore( $entry."\\" ); // <- Bei UNIX-Systemen muss das "\\" durch ein "/" ersetz werden! } if( is_file( $entry ) ) { $files++; for( reset( $file ); $key = key( $file ); next( $file ) ) if( eregi( ".*\.$key$", $entry ) ) { $file[$key][files]++; $file[$key][size] += filesize( $entry ); $file[$key][lines] = sizeof( file( $entry ) )+1; } } elseif( !is_dir( $entry ) ) { $unknowntype[files]++; } } } dir_explore( "c:\\apache\\htdocs\\" ); echo( "Dateien gesamt: $files\n" ); echo( "Verzeichnisse gesamt: $directorys\n" ); echo( "Unbekannt: $unknowntype[files]\n" ); for( reset( $file ); $key = key( $file ); next( $file ) ) echo( "*.$key\n - Anzahl: ".$file[$key][files]."\n - Größe: ".$file[$key][size]."\n" ); ?>
php::bar PHP Wiki - Listenarchive