我无法解决文件下载问题。在 Chrome 中,下载工作正常。在 Firefox 中,它会在文件末尾生成一些 HTML 标题,例如:
<!DOCTYPE .....>
...
...
对于其他一些浏览器,下载的文件也会丢失一些行。如何编写脚本以使其真正适用于许多浏览器?这是我当前的代码:
private function downloadRawFileHelper($file) {
if (ini_get('zlib.output_compression')) {
ini_set('zlib.output_compression', 'Off');
}
if (!file_exists($file)) {
die('File Not Found');
}
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header("Content-Type: text/php");
header("Content-Disposition: attachment; filename=\"". basename($file). "\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($file));
ob_clean();
flush();
readfile($file);
$this->view = 'fileedit';
}