PHP强制下载到网页

PHP强制下载到网页,php,excel,download,webpage,xls,Php,Excel,Download,Webpage,Xls,我对强制下载文件有问题 我正在使用PHPExcel根据从数据库中提取的信息创建一个xls文件。这一切工作正常,Excel文件按要求工作 然后,我尝试使用以下函数强制下载创建的文件。然而,它下载网页,而不是作为一个文件 目前正在WinXPSP3、Notepad++、XAMPP(Apache 2.4.3、PHP5.4.7)上开发 **函数跟踪 public function downloadfile($file){ if(file_exists($file) && is_fi

我对强制下载文件有问题

我正在使用PHPExcel根据从数据库中提取的信息创建一个xls文件。这一切工作正常,Excel文件按要求工作

然后,我尝试使用以下函数强制下载创建的文件。然而,它下载网页,而不是作为一个文件

目前正在WinXPSP3、Notepad++、XAMPP(Apache 2.4.3、PHP5.4.7)上开发

**函数跟踪

public function downloadfile($file){
    if(file_exists($file) && is_file($file)){           
        //ob_start();
        echo $file;
        echo "in file exists";
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);    
        //ob_end_flush();
    }else
        echo "file or location does not exist <br>";    
        echo $file;
}
公共函数下载文件($file){
如果(file_exists($file)&&is_file($file)){
//ob_start();
echo$文件;
echo“文件中存在”;
标题(“内容描述:文件传输”);
标题(“内容类型:应用程序/八位字节流”);
标题('Content-Disposition:attachment;filename='.basename($file));
标题(“内容传输编码:二进制”);
标题('Expires:0');
标头(“缓存控制:必须重新验证”);
标题(“Pragma:public”);
标题('Content-Length:'.filesize($file));
ob_clean();
冲洗();
readfile($file);
//ob_end_flush();
}否则
echo“文件或位置不存在
”; echo$文件; }
任何帮助都将不胜感激。
提前感谢

如果是excel文件,则只需重定向到该url,默认情况下,它将要求下载文件

header("Location: http://site.com/path/to/file/filename.xlsx");
/* Make sure that code below does not get executed when we redirect. */
exit;
如果是javascript,请给出

location.href = 'http://site.com/path/to/file/filename.xlsx';

如果它是一个excel文件,那么只需重定向到该url,默认情况下,它将要求下载文件

header("Location: http://site.com/path/to/file/filename.xlsx");
/* Make sure that code below does not get executed when we redirect. */
exit;
如果是javascript,请给出

location.href = 'http://site.com/path/to/file/filename.xlsx';
试试这个

试试这个