我的页面上有一个链接,该链接指向"basedir/Controls/ProcessExcel.php"
ProcessExcel.php
生成一个名为 .xls 的Rapport.xls
文件basedir
。所以路径是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 {main} 抛出C:basedir\Classes\PHPExcel\Shared\OLE\PPS\Root.php 在第 93 行
编辑2: 尝试使用另一个脚本发送电子邮件时,我遇到了基本相同的错误。我认为这两个问题可能是相关的。