FAQ |
Kalender |
2009-08-05, 06:50 | #1 | ||
|
|||
Mycket flitig postare
|
Finns det något smidigt sätt att i slutet av ett PHP-skript kolla hur mycket data som skickades från skriptet (gärna inkl HTTP-headers)? D.v.s. mäta utgående trafik.
Jag tänker mig något i stil med memory_get_peak_usage(), men för trafik. Gärna motsvarande för ingående trafik också (d.v.s. HTTP-requesten från klienten och eventuell externt inhämtad information). |
||
Svara med citat |
2009-08-05, 10:52 | #2 | |||
|
||||
Bara ett inlägg till!
|
Kika på output buffering.
|
|||
Svara med citat |
2009-08-05, 12:44 | #3 | ||
|
|||
Har WN som tidsfördriv
|
Citat:
Kod:
// Starta buffer ob_start(); /* * Din sida */ // Bufferns innehåll $output = ob_get_contents(); // Stoppa buffer ob_end_clean(); // Storlek i bytes $size = strlen($output); // Visa echo $output; strlen() kontroller längden av en sträng, det motsvarar alltså antal bytes (oftast, kan dock bli lite fel ibland beroende på encoding). |
||
Svara med citat |
2009-08-05, 13:44 | #4 | ||
|
|||
Supermoderator
|
Du kan använda mb_strlen istället.
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2009-08-05, 14:01 | #5 | |||
|
||||
Bara ett inlägg till!
|
Ännu snyggare änr KarlRoos exempel är att göra en callbackfunktion och skicka med parametern chunk_size till ob_start(). På så sätt kan du minska minnesanvändningen och börja skicka data till webbläsaren fortare. Detta är extra relevant ifall du skickar stora filer genom PHP.
Citat:
|
|||
Svara med citat |
Svara |
|
|