8
votes

Erreurs Google Chrome lors de l'exportation de fichier XLS à l'aide de PHP

J'utilise un script PHP pour exporter des données de ma base de données (mySQL) vers un fichier XLS.

Bien que le processus d'exportation de fichiers fonctionne bien sur Firefox et c'est-à-dire. p>

Je reçois des erreurs lorsque vous essayez d'exporter avec Google Chrome. P>

L'erreur Google Chrome est P>

    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.


4 commentaires

Quelque chose ne va pas avec l'en-tête de réponse HTTP. Attrapez l'en-tête HTTP à l'aide de Fiddler et postez-le ici.


qui m'est arrivé. corrigé en supprimant les virgules du nom de fichier


Un autre changement de réponse en-tête ("Contenu-disposition: pièce jointe; nom_file = {$ Fichier}"); à en-tête ("Contenu-disposition: pièce jointe; nom_fichier = \" {$ Fichier} \ "");


Dans mon cas, cela a provoqué l'erreur décrite ici: Stackoverflow.com/Questtions/6530569/...


4 Réponses :


12
votes

J'ai découvert ce que mon problème était dans la section d'en-tête du code d'exportation PHP. Les lignes incorrectes et correctes sont les suivantes:

incorrect xxx

corrige xxx

La correction étant d'ajouter un espace entre pièce jointe; et nom de fichier

espère que cela aide.


0 commentaires

9
votes

J'ai eu ce même problème. Cependant, n'apparaissant que très rarement. La cause était semblable mais pas tout à fait la même chose.

incorrect xxx

corrige xxx

dollar contient parfois des espaces parfois contenus en mentionnant une erreur chromée.


0 commentaires

2
votes

J'ai également fait face au même problème. Tout en téléchargeant un fichier ayant une virgule dans son nom, il disait que « ont reçu » et ce n'est qu'en chrome. Dans Firefox, c'était ok. Après cela, je viens de changer mon code de
en-tête ("disposition de contenu: pièce jointe; nom de fichier = $ myfilename"); à Rubrique ("Contenu-Disposition: pièce jointe; nom de fichier = \" $ myfilename \ ""); et cela a fonctionné bien. J'espère que cela fonctionnera pour vous.


1 commentaires

Merci, j'ai 2700 pages et cela fonctionne en chrome pour environ 96% mais pas les 4% autres, mais cela fonctionne à 100% du temps.



2
votes

essayer cela peut vous aider, Rubrique («Contenu-disposition: pièce jointe; nom de fichier = " '. $ file_name. ""' );

au lieu de

en-tête ("Contenu-disposition: pièce jointe; nom de fichier = '. $ nom_fichier);


0 commentaires