$file = fopen($filename,"w");
foreach ($datas as $line)
{
if (function_exists('mb_convert_encoding')){
$line=mb_convert_encoding($line,'GB2312','UTF-8');
}
   fputcsv($file,split($csvline,$line));
}
fclose($file);
用这个生成的CSV文件,然后再用HEADER访问。结果直接在IE上打开了。有没有什么办法可以让他提示下载

解决方案 »

  1.   

    加入一个head头部会提示下载了吗?
      

  2.   

    对于 IE 而言没有额外声明的头,csv只不过是一个文本而已
    即便你声明了 csv 类型的头,IE 也会启动 excel 将其打开浏览器只在收到不可识别的文件类型的数据时,才会产生“下载”
      

  3.   

    $file = fopen($filename,"w");
    header('Content-Type: application/csv');
    foreach ($datas as $line)
    {
    if (function_exists('mb_convert_encoding')){
    $line=mb_convert_encoding($line,'GB2312','UTF-8');
    }
       fputcsv($file,split($csvline,$line));
    }
    fclose($file);