Php 导出到CSV是将所有HTML放在文件的底部
我正在使用一个脚本将mysql数据库导出到一个.csv文件,但它也包括导出文件下面页面的所有htmlPhp 导出到CSV是将所有HTML放在文件的底部,php,mysql,csv,pdo,export,Php,Mysql,Csv,Pdo,Export,我正在使用一个脚本将mysql数据库导出到一个.csv文件,但它也包括导出文件下面页面的所有html $fields = array(); $csv = array(); /*** mysql hostname ***/ $hostname = DB_HOST; $dbname = DB_NAME; /*** mysql username ***/ $username = DB_USER; /*** mysql password ***/
$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();
}
如果有人知道如何纠正这一点,我们将不胜感激。
谢谢似乎是个好主意
exit;
脚本停止在.csv中输入任何HTML后,如何调用此代码?代码片段是否被截断?当我测试您的代码时,csv不包含htmlanother thing您在您的代码中有comments.csv`作为文件名attachment@NicolasPerraut不,不是,我用$\u GET请求调用它,它会自动启动。@julekgwa这是为了在生成文件后立即下载该文件。我很好地恢复了所有行,但我也得到了源代码。我以前从未见过这种情况。