使用http-header强制下载字符串

时间:2009-05-08 08:48:14

标签: php string http-headers

我的功能有问题。 我的功能的目的是强制下载字符串。真正发生的是字符串输出到屏幕而不是下载。

这是我的功能:

function arrayToCSV($vectorDados, $cabecalho)
{
    $arr = array();
    $arr=$vectorDados;

    $csv = $cabecalho . "\n";
    foreach($arr as $row) {
        $csv .=$row[0] . "  " .  $row[1] . "    ". $row[2] . "  " .$row[3] . "  \n";
    }
    $filename = "emails_".date("Y-m-d_H-i",time());


    header ("Content-Type: application/octet-stream");
    header ("Content-disposition: attachment; filename=".$filename.".csv");
    print $csv;
}

2 个答案:

答案 0 :(得分:3)

问题不在于功能。

通过在主代码中添加ob_start(),现在我可以下载我的字符串了。

答案 1 :(得分:1)

尝试使用大写字母D的内容处理。

(也可能是Content-Type的text / csv)