phpbar.de logo

Mailinglisten-Archive

Re: [php] Menustruktur
Archiv Mailingliste php_(at)_infosoc.uni-koeln.de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [php] Menustruktur



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" );

?>


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive