kostenloser Webspace werbefrei: lima-city


Grösse der Ausgabe einer Seite in Bytes

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    feedping

    feedping hat kostenlosen Webspace.

    Hallo

    Wie ermittle ich die Größe der Ausgabe einer Seite in Byte
    nicht die Dateigröße, sondern nur die der Ausgabe

    wenn ich ein Script habe, das zwar 10 KB PHP-Quellcode hat (Dateigröße)
    aber am Ende nur ein einziges Wort ausgibt, sind das ja bestimmt nur wenige Byte

    Dateigröße ist klar ... $groesse = filesize($datei); ...
    aber wie kann ich die Byte-Größe der Ausgabe ermittel?

    mit fopen oder so bekomme ich ja auch wieder den Quellcode ?!
    (PS: die datei liegt im gleichen Server/Webspace/Verzeichnis)
    ?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Also wenn ich dich Richtig verstanden habe willst du wissen wie viel Speicherplatz deine Ausgabe macht.
    Reintherotisch müsstes du doch brechnen können anhand der länge der Ausgabe wie groß sie ist. Nagel mich aber bitte nicht drauf fest, bin mir nicht sicher.

    Aber mal ne Andere Frage wo für musst du wissen wie groß das Resultat eines Scripts ist?
  4. Du könntest sehr einfach herausfinden, wie viele Zeichen ein String hat, aber die Zeichenlänge entspricht nicht unbedingt dem Plattenplatzverbrauch einer gespeicherten Datei mit diesem Inhalt. Was du aber machen kannst: Den String in eine Datei zu speichern, den Plattenplatzverbrauch der Datei auslesen und ein Byte abziehen.
  5. thomasba

    Co-Admin Kostenloser Webspace von thomasba

    thomasba hat kostenlosen Webspace.

    Ich denke du suchst diese Funktionen:
    ob_start, ob_get_length und ob_end_flush
    Bei ob_get_length ist auch ein Beispiel dabei ;-)
  6. feedping schrieb:
    ... Wie ermittle ich die Größe der Ausgabe einer Seite in Byte
    das ist eine 'gute' frage! was gibst du denn überhaupt aus? text? bilder? video? musi? oder vom allen ein bisschen etwas? ...

    wie soll man dir helfen? was verstehst du überhaupt unter 'AUSGABE'? für sichtgeräte? für drucker? für braillekeybord? ...

    deklariere dich.
  7. Autor dieses Themas

    feedping

    feedping hat kostenlosen Webspace.

    Danke

    mit ob_get_length scheint es ja schon zu funktionieren
    aber ich brauche die Ausgabe der Byte-Grösse von einer anderen Datei aus

    ich habe jetzt einfach die Datei per http aufgerufen,
    dann bekomme ich die HTML-Ausgabe und nicht den PHP-Code
    und dann mb_strlen() ... stimmt doch dann so, oder ?

    <?php
    $pagedata = file_get_contents('http://..../..../dateiname.php');
    $pagesize = mb_strlen($pagedata, 'latin1'); 
    echo "Groesse: ". $pagesize." Byte"; 
    ?>


    @xxbashxx
    Den Wert brauche ich für Tests, bei welchen Aufrufen (mit Parameter)
    ob die Ausgabe eine bestimmte mindest-Größe hat ....

    @hemiolos
    mit Ausgabe meine ich den HTML-Code, der vom Script bei Aufruf erzeugt wird.
    also ohne Bilder oder ander Medien, länge des HTML-Quellcode Strings

  8. Nein, das stimmt nicht, siehe mein Beitrag.
  9. Autor dieses Themas

    feedping

    feedping hat kostenlosen Webspace.

    Na ok

    dann so
    <?php
    $pagedata = file_get_contents('http://..../..../dateiname.php');
    
    $tmp_file_name = $mypath.'\test.txt';
    $handle = fopen($tmp_file_name,"w", 0666);
    fwrite($handle,$pagedata);
    fclose($handle);
    
    $pagesize = filesize ($tmp_file_name); 
    echo "Groesse: ". $pagesize." Byte"; 
    
    ?>


    aber gibt es wirklich keine PHP interne Funktion,
    um die Byte-Größe der Ausgabe zu ermitteln?

    hab ich graf entdeckt: bei SelfHTML Forum

    ... Ergo liefert strlen() tatsächlich die Länge des Strings in Bytes ... .


    stimmt diese Aussage? ... ist von 2006 ^^oOo ...
    dann wäre $pagesize = strlen($pagedata); ja "einfacher" ... ?



    Beitrag zuletzt geändert: 19.8.2011 10:20:50 von feedping
  10. @feedping: Dein Ansatz war schon richtig, du musst nur mb_strlen (das die Länge in Buchstaben misst) durch strlen ersetzen (was die Länge in Bytes misst), da Buchstaben nicht unbedingt Bytes entsprechen (wenn du UTF-8 benutzt, beispielsweise). Was drafed-map meint ist, ist noch etwas anderes. Ihm geht es darum, dass Dateien immer nur in Blöcken einer bestimmten Größe gespeichert werden und daher Dateien meist größer sind als ihr Inhalt. Aber diese Größe sollte dich eigentlich eher wenig interessieren ;)
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!