0

我的页面上有一个链接,该链接指向"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: 尝试使用另一个脚本发送电子邮件时,我遇到了基本相同的错误。我认为这两个问题可能是相关的。

4

1 回答 1

1

您可以随时检查您的日志中是否存在真正的错误,可能是权限问题

于 2013-07-23T12:27:44.493 回答