我的页面上有一个链接到"basedir/Controls/ProcessExcel.php"
ProcessExcel.php
在Rapport.xls
中生成名为basedir
的.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-> save('../ Rapport.xls') 1 C:\ inetpub \ wwwroot \ solutions_spb \ Controls \ ProcessExcel.php(224):PHPExcel_Writer_Excel5-> save('../ Rapport.xls') 2 {主} 引用C:basedir \ Classes \ PHPExcel \ Shared \ OLE \ PPS \ Root.php第93行
编辑2: 尝试使用其他脚本发送电子邮件时,我遇到了同样的错误。我认为这两个问题可能都有关系。
答案 0 :(得分:1)
您始终可以检查日志中是否存在真正的错误,可能是权限问题