Как использовать CSV MIME-тип?
в веб-приложении, над которым я работаю, пользователь может щелкнуть ссылку на файл CSV. Для MIME-типа нет набора заголовков, поэтому браузер просто отображает его как текст. Я хотел бы, чтобы этот файл был отправлен как a .csv-файл, поэтому пользователь может напрямую открыть его с помощью calc, excel, gnumeric и т. д.
header('Content-Type: text/csv');
echo "cell 1, cell 2";
этот код работает так, как ожидалось на моем компьютере (разве это не так всегда?), но не работает на другом компьютере.
мой браузер-это ночная сборка FF 3.0.1 (на Linux.) Браузеры, в которых он не работал, были IE 7 и FF 3.0 (на windows)
есть ли какие-то причуды, о которых я не знаю?
4 ответа:
вы можете попытаться заставить браузер открыть "Сохранить как..."диалог, делая что-то вроде:
header('Content-type: text/csv'); header('Content-disposition: attachment;filename=MyVerySpecial.csv'); echo "cell 1, cell 2";
который должен работать в большинстве основных браузеров.
вы не указываете язык или фреймворк, но для загрузки файлов используется следующий заголовок:
"Content-Disposition: attachment; filename=abc.csv"
в Internet Explorer вам часто приходится указывать заголовок Pragma: public, а также для правильной работы загрузки..
header('Pragma: public');
просто мои 2 цента..
этот код можно использовать для экспорта любого файла, включая 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"');