Visualizzazione dei risultati da 1 a 9 su 9

Visualizzazione discussione

  1. #8
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Il comportamento del buffer dipende da diversi fattori, anche dal browser

    http://php.net/manual/en/function.flush.php

    Ad esempio, nella mia macchina per avere l'effetto che vuoi tu devo fare:

    Codice PHP:
    @ini_set('implicit_flush'1);
    $stringa 'Ciao amici';
    for(
    $i=0$i<10$i++){
       echo 
    $stringa.$i."<br>";
        
       
    ob_flush();
       
    flush();
       
    sleep(2);  // messo giusto per enfatizzare lo "stream"

    Questo funziona su chrome, ma su firefox no. Questo credo dipenda dal fatto che ff bufferizzi i dati in input prima di mostrarli.
    Di fatti facendo:

    Codice PHP:
    @ini_set('implicit_flush'1);
    $stringa 'Ciao amici';
    // aumento i dati da inviare
    for($i=0$i<1024$i++){   
        
    $stringa.='ii';
    }
    for(
    $i=0$i<10$i++){
        echo 
    $stringa.$i."<br>";
         
        
    ob_flush();
        
    flush();
        
    sleep(2);

    anche firefox mostra i dati senza attendere la fine dello script.

    Detto ciò credo che la soluzione cron + ajax magari appoggiandoti ad un db sia meglio. Insomma, uno script che dura 24h...
    Quando fai partire lo script aggiungi una riga ad una tabella, poi aggiorna ogni tot.
    A questo punto ti serve solo un secondo script che va a leggere sulla tabella e vede a che punto si trova
    Ultima modifica di boots; 27-07-2016 a 12:26

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.