我有去"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嘗試與另一腳本發送電子郵件時同樣的錯誤。我認爲這兩個問題可能都有關係。
檢查日誌真正的錯誤,也許是權限問題 – DevZer0
這是一個權限問題,它說: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
@ DevZer0請問您以前的評論作爲回答?我會選擇它。 – Sebastien