variable una session_destroy sesion recuperar inicializar ini_set imprimir destruir delete php

session_destroy - ¿Hay alguna manera de que PHP imprima los datos en un navegador web en tiempo real?



recuperar session php (8)

Comience su investigación aquí:

http://httpd.apache.org/docs/1.3/misc/FAQ-F.html#nph-scripts

Por ejemplo, si tengo una declaración de eco, no hay garantía de que el navegador pueda mostrarla de inmediato, podría mostrar algunas docenas de instrucciones de eco a la vez, y podría esperar hasta que toda la página esté lista antes de mostrar nada.

¿Hay alguna manera de que cada eco aparezca en un navegador a medida que se ejecuta?


Como otros señalaron, hay lugares donde las cosas se pueden colgar además de PHP (por ejemplo, el servidor web o el navegador del cliente). Si realmente desea asegurarse de que la información se muestre a medida que esté disponible, es probable que necesite alguna solución basada en AJAX. Tendría una secuencia de comandos PHP que maneja la pantalla y otra que hace cálculos, y la secuencia de comandos de la pantalla hace las solicitudes AJAX a la otra. jQuery tiene algunas funciones AJAX bastante simples que pueden ayudarte allí.

También querría tener una alternativa en caso de que el navegador no admita / haya deshabilitado JavaScript que simplemente sería la página estándar que puede no mostrar el contenido hasta el final.


Habilitar el enjuague implícito como dijo blueyed debería ser el truco, ya que llama a color después de cada eco, sin embargo, algunos navegadores también requieren que se establezcan encabezados sin caché. Esto es lo que uso. Su millaje puede variar según el navegador.

header(''Cache-Control: no-cache, no-store, max-age=0, must-revalidate''); header(''Expires: Mon, 26 Jul 1997 05:00:00 GMT''); // Date in the past header(''Pragma: no-cache'');


Sugeriría usar AJAX.


flush () es parte de la respuesta. Sin embargo, al menos hasta hace un año, usar Flush no era confiable en Safari. Dependiendo de su escenario, buscaría soluciones que impliquen javascript. Tal vez las diversas implementaciones de barras de progreso tengan código / ideas que puede reciclar.


Puede usar flush() para forzar el envío del contenido del buffer al navegador.

Puede habilitar el enjuague implícito con " ob_implicit_flush(true) ".


function printnow($str, $bbreak=true){ print "$str"; if($bbreak){ print "<br />"; } ob_flush(); flush(); }

Obviamente, esto no se va a comportar si pasas objetos complicados (o al menos aquellos que no implementan __toString) pero, entiendes la idea.


Puede llamar a flush() en PHP , pero hay varios otros lugares donde puede guardarse el resultado (por ejemplo, en el servidor web). Si está utilizando el almacenamiento en búfer de salida, también debe llamar a ob_flush() .

También puede encontrar que algunos navegadores no mostrarán la página hasta que el HTML sea válido, lo que no ocurrirá hasta que todas las etiquetas estén cerradas (como body, html).