Dateigröße herrausfinden
Andavos
- php
Hallo,
kann man mit PHP herrausfinden, wie groß (in Byte oder so) eine Datei ist bzw. die Datei, in der der Befehl ist.
Hab im Archiv/Manuel geguckt und leider nichts gefunden :(.
MFG
Andavos
Hallo Andavos,
kann man mit PHP herrausfinden, wie groß (in Byte oder so) eine Datei ist
Ja. http://de3.php.net/filesize
bzw. die Datei, in der der Befehl ist.
Die aktuelle Datei steht in __FILE__. (Achtung: Das ist eine Konstante - KEINE Variable)
Viele Grüße,
Christian
Hallo,
ah danke, mal ausprobieren
MFG
Andavos
Hallo,
meine Unterseiten werden per include... zusammengesetzt.
Wenn ich jetzt die größe der Datei abfrage, dann zeigt er mir nur die größe der PHP-Datei (des Scripts) an, und die die Gesamte größe, also die die an den Browser gesendet wird.
Kann ich die auch anzeigen lassen
MFG
Andavos
Hallo Andavos,
und die die Gesamte größe, also die die an den Browser gesendet wird.
Kann ich die auch anzeigen lassen
Ja. Du musst die PHP-Ausgabe komplett abfangen, auslesen und dann die Größe bestimmen:
<?php
ob_start ();
// tue etwas, auch include()
$inhalt = ob_get_contents ();
$groesse = strlen ($inhalt);
// ausgeben
ob_end_flush ();
?>
Ist allerdings etwas langsamer als direktes an den Browser senden.
Viele Grüße,
Christian
Hallo!
meine Unterseiten werden per include... zusammengesetzt.
Wenn ich jetzt die größe der Datei abfrage, dann zeigt er mir nur die größe der PHP-Datei (des Scripts) an, und die die Gesamte größe, also die die an den Browser gesendet wird.
Also die Größe der PHP-Datei hat nichts mit der Größe der an den Browser übertragenen Daten zu tun. Wenn ich folgendes schreibe:
<?php
echo "hallo";
?>
hat die Datei vermutlich 21 Byte, an den Browser werden allerdings nur 5 byte(+ header) übertragen. Anders herum bei
<?php
phpinfo();
?>
Du kannst die Größe der Daten die an den Browser gesendet werden allerdings ermitteln, und zwar indem Du die Ausgabe pufferst, dessen Länge misst, und danach an den Browser schickst.
Dabei helfern Dir folgende Funktionen:
http://de3.php.net/outcontrol
http://de3.php.net/strlen
Aber auch das sagt nichts darüber aus wieviele bytes jetzt am Ende über die Leitung gehen, denn dazu komen noch Header-Informationen die Du von PHP nicht alle abfragen kannst, und durch Komprimierung kann sich die Zahl der Bytes nochmal erheblich reduzieren.
Grüße
Andreas