Экспорт в CSV помещает весь HTML в конец файла

Я использую сценарий для экспорта базы данных MySQL в файл .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();
}

Если кто-нибудь знает, как это исправить, это будет высоко оценено.
Спасибо

-1

Решение

Кажется

exit;

После того, как скрипт остановился, любой HTML вводится в .csv

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector