php - ob_get_contents - Diferencia entre ob_get_clean y ob_get_flush
ob_start php ejemplo (4)
Ambas funciones limpian el búfer de salida, desactivan el búfer de salida y devuelven el valor del búfer anterior.
Sin embargo, ob_get_flush
envía primero el búfer actual al cliente, mientras que ob_get_clean
simplemente lo descarta.
Ambos parecen hacer lo mismo: devolverle el contenido del buffer de salida y borrarlo luego.
¿Cuál debería usar?
Para tratar de responder a su pregunta directamente:
Si desea comenzar de nuevo el almacenamiento en búfer después de enjuagar el búfer, entonces use ob_get_clean ya que el búfer de salida aún estará listo sin tener que volver a encenderlo. (recuerde que esto solo se puede usar si no hay texto, incluso el espacio en blanco se hace eco en el navegador). Por lo tanto, para usos más generales, todos mis libros de programación se inclinan por ob_get_flush (como un solo buffer por la mayoría de los scripts)
ob_get_clean()
elimina el búfer (sin imprimirlo) y devuelve su contenido.
ob_get_flush()
imprime el búfer, lo elimina y devuelve su contenido.
ob_get_clean
simplemente devolverá el contenido del búfer y lo asignará a la variable que desee, pero no generará ningún resultado.
ob_get_flush
por otro lado, hace todo lo que ob_get_clean
hace, pero también emite el contenido.