flush

iedere gevorderde scripter zal weten dat php serverside is en javascript bijv clientside is. ik hoop ook dat voor beginners dit volledig te begrijpen is (zo niet leer dan eerst goed het verschil te begrijpen, zodat je in de toekomst overal een goede oplossing voor weet te vinden).

ik kan nog wel meer vertellen over client en serverside zoals dat formulieren ook altijd!! serverside moeten worden gechecked en niet clientside.... maar dat ga ik nu niet doen.

ik ga het hebben over de functie flush in php.
deze functie is niets meer dan output gegenereert door de server naar de browser sturen terwijl de server nog niet klaar is met parsen.

flush is goed te gebruiken in bijvoorbeeld heeeeeele lang scripts waar de server wel 4 seconden voor nodig heeft om te parsen.

of om een open stream te houden met de server zoals bij sommige chatboxen het geval:

klein voorbeeldje

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

set_time_limit(0); //de pagina wordt nooit geladen!!
ignore_user_abort(true); //de gebruiker kan de output stoppen maar de server zal doorgaan met parsen...

while (!connection_aborted)
{

         echo "hallo<br>";
         flush();
         sleep(1);
}

if (connection_status()!=0) //wanneer de gebruiker de connectie met de server heeft verbroken zal de server toch dit onderstaande ff uitvoeren.
{
        //een query of iets dergelijks
        die(); //doodt het script
}

?>


met dt kleine voorbeeld hierboven zal om de seconde hallo op het scherm verschijnen.... pas als je op stop drukt in je browser zal de query of iets anders worden uitgevoerd.

met dit voorbeeld is dus ook een chatbox te creeren die zich nooit zal refreshen (geen klikjes) maar de output om de seconde naar de browser zal sturen!
output is nu hallo, maar kan ook een textfile zijn ;)

ik hoop dat hiermee flush(); een beetje duidelijk is geworden voor meer info zie php.net en die zal je al gauw doorverwijzen naar ob_end_flush() ob_get_contents();

« Lees de omschrijving en reacties

Inhoudsopgave

  1. flush

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.