如何解决如何在MySQL数据导出中设置文本输出对齐方式?
这是SQL查询
$query = "SELECT col1,col2,col3,col4,col5,col6,col7,col8 FROM table;
if (!$result = mysqli_query($con,$query))
{
exit(mysqli_error($con));
}
这是输出文本文件的部分
$filename = "output.txt";
$file = fopen($filename,"w");
foreach ($result as $rows)
{
fwrite($file,implode("\t",$rows).PHP_EOL);
}
header('Content-Description: File Transfer');
header('Content-type: text/tab-separated-values');
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
readfile($filename);
exit;
解决方法
@Slava Rozhnev指出,最好的方法是像这样使用csv:
<?php
$query = "SELECT col1,col2,col3,col4,col5,col6,col7,col8 FROM table";
$result = mysqli_query($con,$query);
$fp = fopen('file.csv','w');
while( $row = mysqli_fetch_array($result,MYSQLI_ASSOC) ) {
fputcsv($fp,$row);
}
fclose($fp);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。