type tipos plain content application php csv http-headers mime

php - tipos - ¿Cómo usar el tipo CSV MIME?



mime type xlsx (4)

En una aplicación web en la que estoy trabajando, el usuario puede hacer clic en un enlace a un archivo CSV. No hay un conjunto de encabezados para el tipo MIME, por lo que el navegador simplemente lo representa como texto. Me gustaría que este archivo se envíe como un archivo .csv, por lo que el usuario puede abrirlo directamente con calc, excel, gnumeric, etc.

header(''Content-Type: text/csv''); echo "cell 1, cell 2";

Este código funciona como se espera en mi computadora (¿no es así como siempre es?) Pero no funciona en otra computadora.

Mi navegador es una compilación nocturna de FF 3.0.1 (en Linux). Los navegadores en los que no funcionaba eran IE 7 y FF 3.0 (en Windows)

¿Hay alguna peculiaridad que desconozco?


Con Internet Explorer, a menudo tiene que especificar el encabezado público Pragma: para que la descarga funcione correctamente.

header(''Pragma: public'');

Solo mis 2 centavos ..


Este código se puede usar para exportar cualquier archivo, incluido csv

// application/octet-stream tells the browser not to try to interpret the file header(''Content-type: application/octet-stream''); header(''Content-Length: '' . filesize($data)); header(''Content-Disposition: attachment; filename="export.csv"'');


No está especificando un idioma o marco, pero el siguiente encabezado se usa para descargas de archivos:

"Content-Disposition: attachment; filename=abc.csv"


Podría intentar obligar al navegador a abrir un cuadro de diálogo "Guardar como ..." haciendo algo como:

header(''Content-type: text/csv''); header(''Content-disposition: attachment;filename=MyVerySpecial.csv''); echo "cell 1, cell 2";

Que debería funcionar en la mayoría de los principales navegadores.