1)Be il file csv è un file ascii con i campi separati dal punto e virgola...non credo serva una funzione particolare.
2)Ecco un metodo che fa distinzione anche col browser che usi:
codice:
// SE IL BROWSER E' INTERNET EXPLORER (This should work for IE & Opera)
if(ereg("MSIE ([0-9].[0-9]{1,2})", $_SERVER['HTTP_USER_AGENT'])) {
header("Content-Type: application/vnd.ms-excel"); //determines file type ('.xls')
header("Content-Disposition: inline; filename=database_dump.xls");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: public");
} else {
// (This should work for the rest)
header("Content-Type: application/vnd.ms-excel"); //determines file type ('.xls')
header("Content-Disposition: attachment; filename=database_dump.xls");
header("Expires: 0");
header("Pragma: no-cache");
}