2013-07-22 48 views
0

我有去"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

回答

1

您可以隨時檢查你的日誌爲真正的錯誤,也許是權限問題