2012-03-26 10 views
6

Me gustaría saber si es posible borrar la información almacenada en corriente header_list()cabeceras Claro previamente establecidos php

if(headers_sent()){ 
    foreach(headers_list() as $header){ 
     header_remove($header); 
    } 
} 
var_dump(headers_list()); 
+0

Después de que se hayan enviado los encabezados? – MitMaro

+0

Si se envían encabezados, no tiene mucho sentido eliminarlos (si es posible), porque ... ya se enviaron. – Hamish

+0

posible de acuerdo con [php.net] (http://php.net/header_remove), pero solo desde la versión 5.3.0 - e incluso puede eliminar los encabezados generados por php en sí – poncha

Respuesta

14

headers_sent indica que es demasiado tarde para eliminar los encabezados. Ya están enviados. De ahí el nombre de la función.

Lo que desea es comprobar específicamente si los encabezados tienen no enviado todavía. Entonces sabes que es seguro modificarlos.

if (!headers_sent()) { 
    foreach (headers_list() as $header) 
    header_remove($header); 
} 
4

Puede eliminar las cabeceras sólo si no están ya enviadas. Si headers_sent es true, los encabezados ya se han apagado y ya no puede volver a desactivarlos.