Hallo Pfann,
ich suche einen Weg die länge eines PHP Scripts irgendwie auszugeben (in Zeilen, Wörter oder so). Ich frage nur mal aus neugierde weil ich dazu nichts gefunden habe. Sinn hätte es keinen größeres außer meine neugierde zu befriedigen :-). Sicher kann ich es auch Manuell tun aber bei paar includes ist es recht aufwendig. Kennt jemand einen Weg dazu?
Mir ist keine fertige Funktion dafür bekannt. Und um die Bytelänge eines Scripts zu berechnen, kannst du alle PHP-Funktionen verwenden, die die Größe einer Datei zurückgeben. Das simpelste Beispiel ist wohl
filesize().
Schwieriger zu lösen wird das Ganze, wenn du "Includes" (also mit require() oder include() usw. eingebundene Script-Bestandteile) mitzählen willst. Einfach die Datei des Haupt-Scripts laden und alle include-Befehle und Verwandten zählen, geht nicht, denn es könnten sich ja auch welche in Kommentaren oder String-Literalen befinden. Außerdem sollten mit include_once() oder require_once() eingebundene Scripts nur einmal gezählt werden. Um gültige include-Anweisungen zu finden, könntest du die Script-Datei mit file_get_contents() laden und dann mit den Tokenizer-Befehlen bearbeiten. Die liefern für die verschiedenen Include-Anweisungen speziell markierte Token(s). Danach darfst du noch die Namen der "includeten" Script-Dateien herauspulen und schließlich das Ganze rekursiv aufrufen, denn die "includeten" Scripts könnten ja ihrerseits wieder andere Scripts "includen".
Das wäre zumindest ein erster Lösungsansatz ...
MffG
EisFuX
... Suchmaschinen-Blog ...