正在显示PHP文件而不是下载

时间:2016-04-21 15:15:31

标签: php web

我遇到了一个我无法解决的问题,我对此感到疯狂! 基本上我必须导出一个csv文件。该网站显然是在服务器上运行,其想法是单击该文件生成并自动下载。 一切都很好,但是,文件正在下载到服务器目录而不是本地用户机器。我无法做到。

有什么问题?非常感谢你!

if(!isset($crm_contas)) 
    $crm_contas = new crm_contas;

$resultGetValues = $crm_contas->getExportContas($filtros, $idsToSend);  

// filename for download
$filename = "ContasExportadas" . date('Ymd') . ".csv";

$output = fopen($filename, 'w');

foreach($resultGetValues as $row) {

    fputcsv($output, $row);
}

fclose($output);
$filename = realpath($filename);

$fp = @fopen($filename, 'rb');

if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE"))
    {
    header('Content-Type: "application/octet-stream"');
    header('Content-Disposition: attachment; filename='.$filename);
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header("Content-Transfer-Encoding: binary");
    header('Pragma: public');
    header("Content-Length: ".filesize($filename));
} else {
    header('Content-Type: "application/octet-stream"');
    header('Content-Disposition: attachment; filename='.$filename);
    header("Content-Transfer-Encoding: binary");
    header('Expires: 0');
    header('Pragma: no-cache');
    header("Content-Length: ".filesize($filename));
}

fpassthru($fp);
fclose($fp);`

- >这是调用上面代码的操作。

echo "<a href='#' onclick='changeFormAction(\"form_list\",\"".$CONF['HOME']."/contas/index.php?view=export\");document.form_list.submit();changeFormAction(\"form_list\",pesquisa);'><img src='".$CONF['HOME']."/images/structure/excel.png' alt='Exportar' title='Exportar'></a>";

与此同时,我注意到当我尝试下载时,error_log正在写下这行。 [2016年4月21日16:23:44 UTC] PHP警告:模块'imap'已在第0行的未知中加载

0 个答案:

没有答案