Foros del Web » Programando para Internet » PHP »

ob_start(), ob_get_contents(), ob_end_clean()

Estas en el tema de ob_start(), ob_get_contents(), ob_end_clean() en el foro de PHP en Foros del Web. http://us2.php.net/manual/es/function.ob-start.php -> Supongo que es usar una memoria temporal, pero no lo entiendo No entiendo "ob-start()", y desconozco si es estrictamente necesario su uso "ob_get_contents()" ...
  #1 (permalink)  
Antiguo 24/05/2014, 10:18
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
ob_start(), ob_get_contents(), ob_end_clean()

http://us2.php.net/manual/es/function.ob-start.php -> Supongo que es usar una memoria temporal, pero no lo entiendo

No entiendo "ob-start()", y desconozco si es estrictamente necesario su uso
"ob_get_contents()" parece que se usa para recuperar algo
"ob_end_clean()" parece que se usa para limpiar de memoria lo anterior usado


Código PHP:
            if (file_exists($rutaViewWidget)) {
                
ob_start();
                
extract($data);
                include 
$rutaViewWidget;
                
$content ob_get_contents();
                
ob_end_clean();
                return 
$content;
            } 
  #2 (permalink)  
Antiguo 24/05/2014, 10:41
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: ob_start(), ob_get_contents(), ob_end_clean()

ob_start() es lo primero que debes hacer para direccionar la salida por pantalla al "buffer" (un especie de cache)

Ese codigo lo que hace es "captura" toda la salida de "echo" "print" "printf" ...y aun errores, warnings... notices...etc.. y todo lo que verias en el navegador lo guarda en una variable $content y posteriormente lo devuelve con return

Es parte de una funcion (por el return) y el objetivo es poder almacenar esa salida en un fichero por ejemplo... o hacerle cambios tambien antes de sacarlo por pantalla
__________________
Salu2!

Etiquetas: html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:22.