下载.xls文件给PHP错误代码500

问题描述:

我有去"basedir/Controls/ProcessExcel.php"下载.xls文件给PHP错误代码500

ProcessExcel.php我的页面上的链接产生basedir命名为Rapport.xls .xls文件。所以路径是basedir/Rapport.xsl

问题是,当我重定向到ProcessExcel.php后,它完成生成Rapport.xls我不能让Rapport.xls从服务器下载。

这里是ProcessExcel.php

if($cn-­­>DBConnexion()) 
{ 
    //Format stuff here, do stuff there... 
    //This is Validation on my SQLDATA, etc... 
} 
//Create the .xls file 
$writer = new PHPExcel_Writer_Excel5($phpe); 
//Save the .xls file 
$writer->save("../Rapport.xls"); 

$fullPath = '../Rapport.xls'; 

if (file_exists($fullPath)) {  
header("Content-Type: application/force-download"); 
header("Content-Type: application/octet-stream"); 
header("Content-Type: application/download");; 
header('Content-Disposition: attachment;filename="Rapport.xls"'); 
header("Content-Transfer-Encoding: binary "); 

    readfile($fullPath); 
    exit(); 
} 

代码它给我的错误代码500:

网站在检索 http://CantPOSTRealURLSorry.com/basedir/Controls/ProcessExcel.php遇到一个错误。 它可能正在关闭或配置不正确。

编辑: 错误日志中说:

PHP致命错误:未捕获的异常 'PHPExcel_Writer_Exception' 有消息“无法打开../Rapport.xls。它可能正在使用或受保护。'在C:\ basedir \ Classes \ PHPExcel \ Shared \ OLE \ PPS \ Root.php中:93 堆栈跟踪: 0 C:\ inetpub \ wwwroot \ solutions_spb \ Classes \ PHPExcel \ Writer \ Excel5.php(226):PHPExcel_Shared_OLE_PPS_Root ('../ Rapport.xls') 1 C:\ inetpub \ wwwroot \ solutions_spb \ Controls \ ProcessExcel.php(224):PHPExcel_Writer_Excel5-> save主要} 扔在C:BASEDIR \类\ PHPExcel \共享\ OLE \ PPS \ Root.php上线93

编辑2: 我basicly尝试与另一脚本发送电子邮件时同样的错误。我认为这两个问题可能都有关系。

+0

检查日志真正的错误,也许是权限问题 – DevZer0

+0

这是一个权限问题,它说:PHP致命错误:未捕获的异常' PHPExcel_Writer_Exception'消息'无法打开../Rapport.xls。它可能正在使用或受保护。'在C:\ basedir \ Classes \ PHPExcel \ Shared \ OLE \ PPS \ Root.php中:93 堆栈跟踪: #0 C:\ inetpub \ wwwroot \ solutions_spb \ Classes \ PHPExcel \ Writer \ Excel5.php(226) PHPExcel_Shared_OLE_PPS_Root-> save('../ Rapport.xls') #1 C:\ inetpub \ wwwroot \ solutions_spb \ Controls \ ProcessExcel.php(224):PHPExcel_Writer_Excel5-> save('../ Rapport.xls') #2 {main} 抛出C:\ basedir \ Classes \ PHPExcel \ Shared \ OLE \ PPS \ Root.php 93行 – Sebastien

+0

@ DevZer0请问您以前的评论作为回答?我会选择它。 – Sebastien

您可以随时检查你的日志为真正的错误,也许是权限问题