type funciona content application php http header content-type

funciona - Obtener el tipo de contenido PHP desde el encabezado()



header(); php (2)

Necesito obtener el tipo de contenido de PHP por "razones de seguridad". Por ejemplo, si usó el header("Content-type: text/html; charset=utf-8") función header("Content-type: text/html; charset=utf-8") , cómo, en un momento futuro de ejecución, puedo recibir el tipo de contenido ( text/html ) y el juego de caracteres ( utf-8 ) por separado?

Mi verdadero problema es saber qué juego de caracteres se está utilizando y modificarlo solo , si es necesario, sin tener que redefinir la información Content-type . Es decir, si content-type es application/xml , consérvelo, pero cambie el único charset.

Ex.

Original: Content-type: text/html First: -> set to application/xml. Content-type: application/xml Second: -> set charset. Content-type: application/xml; charset=utf-8 Third: -> set to text/html Content-type: text/html; charset=utf-8

¿Como es posible?



Puede usar la función headers_list para obtener los encabezados de respuesta. A partir de ahí, debería haber solo analizar el encabezado relevante y volver a escribir, si es necesario.

$headers = headers_list(); // get the content type header foreach($headers as $header){ if (substr(strtolower($header),0,13) == "content-type:"){ list($contentType, $charset) = explode(";", trim(substr($header, 14), 2)); if (strtolower(trim($charset)) != "charset=utf-8"){ header("Content-Type: ".trim($contentType)."; charset=utf-8"); } } }