2016-01-22 70 views
2

我試圖用以下代碼生成發票。無法在服務器上生成excel文件

它可以在本地主機精細,

當我執行我的朋友們服務器的代碼,它工作得很好,

其中作爲同一代碼失敗在我的服務器生成 - (使用GoDaddy的)

我需要修改任何服務器設置嗎?

<?php 
    include("includes/DbConfig.php"); 
    $SQL = "SELECT id,user_mobile,user_email FROM users limit 1,2"; 
    $header = ''; 
    $result =''; 
    $exportData = mysql_query ($SQL) or die ("Sql error : " . mysql_error()); 

    $fields = mysql_num_fields ($exportData); 

    for ($i = 0; $i < $fields; $i++) 
    { 
     $header .= mysql_field_name($exportData , $i) . "\t"; 
    } 

    while($row = mysql_fetch_row($exportData)) 
    { 
     $line = ''; 
     foreach($row as $value) 
     {            
      if ((!isset($value)) || ($value == "")) 
      { 
       $value = "\t"; 
      } 
      else 
      { 
       $value = str_replace('"' , '""' , $value); 
       $value = '"' . $value . '"' . "\t"; 
      } 
      $line .= $value; 
     } 
     $result .= trim($line) . "\n"; 
    } 
    $result = str_replace("\r" , "" , $result); 

    if ($result == "") 
    { 
     $result = "\nNo Record(s) Found!\n";       
    } 

     header("Content-type: application/octet-stream"); 
     header("Content-Disposition: attachment; filename=export.xls"); 
     header("Pragma: no-cache"); 
     header("Expires: 0"); 
     print "$header\n$result"; 
    ?> 
+3

請[停止使用'mysql_ *'功能(http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。 [這些擴展](http://php.net/manual/en/migration70.removed-exts-sapis.php)已在PHP 7中刪除。瞭解[編寫]​​(http://en.wikipedia.org/ wiki/Prepared_statement)語句[PDO](http://php.net/manual/en/pdo.prepared-statements.php)和[MySQLi](http://php.net/manual/en/mysqli.quickstart .prepared-statements.php)並考慮使用PDO,[這真的很簡單](http://jayblanchard.net/demystifying_php_pdo.html)。 –

+2

你看過錯誤日誌嗎? –

+0

我檢查了錯誤日誌,沒有錯誤 –

回答

1

我剛剛添加了ob_get_clean();它開始工作

<?php 
ob_start(); 
session_start(); 
include("includes/DbConfig.php"); 
?> 

    <?php 
    header("Content-type: application/octet-stream"); 
    header("Content-Disposition: attachment; filename=export.xls"); 
    ob_get_clean(); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 
    print "$header\n$result"; 
    ?> 
相關問題