Gå til innhold

alternativer til flush()?


Anbefalte innlegg

Jeg har et script på siden min som tar litt tid å gjennomføre. Når denne siden loades kommer ikke "loading..." frem før scriptet er ferdig og siden redirecter... noe som er litt kjedelig for andre som ikke kjenner scriptet mitt og tror siden har hengt seg eller noe når det ikke kommer tilbake noe feedback.

 

jeg har prøvd flush() etter echo loading... men det er ikke min server, leier, og tror de har det slått av elns. jeg lurte kanskje på om javascript eller ajax kunne ha vært en løsning om det ikke finnes noe enklere? tips?

 

echo 'loading...';

while( something )
{
loop tar 5-8 sec å prosesse
}

echo 'success, du vil nå bli redirected...';

echo 'html meta redirect->';

Lenke til kommentar
Videoannonse
Annonse

Vel, hvis du vil garantert ha frem 'loading' bør du sterkt vurdere AJAX/Javascript, for ellers er det veldig variablet hva man får til.

//Hvorvidt det er utskrift før denne linjen er irrelevant, men for få det til
// å fungere i enkelte nettlesere må det være minst 1024 byte med utskrift
// før noe vises
ob_start();
ob_implicit_flush(true);
// derfor vil det ikke skade med litt utskrift her :)
echo 'loading ...';
$buffer = ob_get_clean();
$buffer = str_pad($buffer, 1024);
ob_start();
echo $buffer;
ob_end_flush();

//Nå kan man begynne å gjøre ting og tang

Jeg garanterer ikke at det fungerer, men det er lov å håpe :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...