[Php] Come usare il tipo MIME CSV?


Answers

Non stai specificando una lingua o un framework, ma la seguente intestazione viene utilizzata per il download di file:

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

In un'applicazione Web su cui sto lavorando, l'utente può fare clic su un collegamento a un file CSV. Non c'è un'intestazione impostata per il tipo mime, quindi il browser lo rende semplicemente come testo. Vorrei che questo file fosse inviato come un file .csv, quindi l'utente può aprirlo direttamente con calc, excel, gnumeric, ecc.

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

Questo codice funziona come previsto sul mio computer (non è così che è sempre?) Ma non funziona su un altro computer.

Il mio browser è una build notturna di FF 3.0.1 (su linux). I browser in cui non funzionava erano IE 7 e FF 3.0 (su Windows)

Ci sono dei capricci di cui non sono a conoscenza?




Questo codice può essere utilizzato per esportare qualsiasi file, incluso 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"');