2012-05-28 54 views
5

He estado usando un script PHP para exportar datos desde mi base de datos (mysql) a un archivo XLS.Errores de Google Chrome al exportar archivos XLS usando PHP

Mientras que el proceso de exportación de archivos funciona bien en Firefox e IE.

Recibo errores al intentar exportar usando Google Chrome.

El error de Google Chrome es

Duplicate headers received from server 

The response from the server contained duplicate headers. This problem is generally the result of a misconfigured website or proxy. Only the website or proxy administrator can fix this issue. 

Error 349 (net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION): Multiple distinct Content-Disposition headers received. This is disallowed to protect against HTTP response splitting attacks. 

que necesito un poco de ayuda en esto.

Gracias

+0

Hay algo mal con el encabezado de respuesta HTTP. Capture el encabezado HTTP usando [Fiddler] (http://fiddler2.com) y publíquelo aquí. – flowfree

+0

me pasó a mí. se corrigió quitando comas del nombre de archivo –

+0

otro cambio de respuesta 'header (" Content-Disposition: attachment; filename = {$ file} ");' to 'header (" Content-Disposition: attachment; filename = \ "{$ file} \ "";; ' –

Respuesta

9

he descubierto lo que mi problema estaba en la sección de encabezado del código PHP de exportación. Las líneas incorrectas y correctas son como sigue:

incorrecta

header("Content-Disposition: attachment;filename=\"".$this->filename."\""); 

correcta

header("Content-Disposition: attachment; filename=\"".$this->filename."\""); 

El ser corrección añadiendo un espacio entre unión; y nombre de archivo

Espero que esto ayude.

3

Tuve este mismo problema. Sin embargo, solo aparece muy raramente. Porque era similar, pero no exactamente lo mismo.

incorrecta

header("Content-Disposition: attachment; filename=$filename"); 

correcta

header("Content-Disposition: attachment; filename=\"$filename\""); 

$ archivo veces contenía espacios resultantes en el error Chrome mentionec.

1

También me enfrenté al mismo problema. Al descargar un archivo que tenía una coma en su nombre, decía "encabezados duplicados recibidos" y solo está en cromo. En Firefox estaba bien. Después de eso acabo de cambiar mi código de
header("Content-Disposition: attachment; filename=$myfilename"); a header("Content-Disposition: attachment; filename=\"$myfilename\""); y funcionó bien. Espero que funcione para ti.

Cuestiones relacionadas