2017-05-06 46 views
-1

我正在使用腳本將mysql數據庫導出到.csv文件,但它也包括導出文件下面的頁面的所有html。導出爲CSV將所有HTML放在文件底部

$fields = array(); 
    $csv = array(); 
    /*** mysql hostname ***/ 
    $hostname = DB_HOST; 
    $dbname = DB_NAME; 
    /*** mysql username ***/ 
    $username = DB_USER; 
    /*** mysql password ***/ 
    $password = DB_PASS; 
    try { 
     $dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password); 
     $tablename = 'comments'; 
     $sql = 'SHOW COLUMNS FROM `'.$tablename.'`'; 

     $stmt = $dbh->query($sql); 
     $stmt->execute(); 
     while($row = $stmt->fetch(PDO::FETCH_ASSOC)) 
     { 
      array_push($fields, $row['Field']); 
     } 

     array_push($csv, $fields); 
     $sql = 'SELECT `name`,`comment`,`email` FROM `'.$tablename.'`'; 

     $stmt = $dbh->query($sql); 
     $stmt->execute(); 

     $csv = array(); 

     while($row = $stmt->fetch(PDO::FETCH_NUM)) 
     { 
      array_push($csv, $row); 
     } 

     $fp = fopen('file.csv', 'w'); 

     foreach ($csv as $row) { 
      fputcsv($fp, $row); 
     } 

     fclose($fp); 
     header("Content-type: application/csv"); 
     header("Content-Disposition: attachment; filename=comments.csv"); 
     header("Pragma: no-cache"); 
     header("Expires: 0"); 
     readfile('file.csv'); 
     $dbh = null; 
    } catch(PDOException $e) { 
     echo $e->getMessage(); 
    } 

如果有人知道如何解決這個問題,將不勝感激。 感謝

+0

你怎麼稱呼這個代碼的HTML之後?片段是否被截斷? –

+0

當我測試你的代碼時,csv不包含HTML – julekgwa

+0

另一件你有comments.csv'作爲你的附件中的文件名 – julekgwa

回答

0

似乎是一個

exit; 

腳本已停止正在進入該.csv