首页 > 编程 > PHP > 正文

php使用指定编码导出mysql数据到csv文件的方法

2019-11-21 23:07:45
字体:
来源:转载
供稿:网友

本文实例讲述了php使用指定编码导出mysql数据到csv文件的方法。分享给大家供大家参考。具体实现方法如下:

<?php/* * PHP code to export MySQL data to CSV *  * Sends the result of a MySQL query as a CSV file for download * Easy to convert to UTF-8. */ /* * establish database connection */$conn = mysql_connect('localhost', 'login', 'pass') or die(mysql_error());mysql_select_db('database_name', $conn) or die(mysql_error($conn));mysql_query("SET NAMES CP1252");/*  * execute sql query    */$query = sprintf('SELECT field1,field2 FROM table_name');$result = mysql_query($query, $conn) or die(mysql_error($conn));/*  * send response headers to the browser * following headers instruct the browser to treat the data as a csv file called export.csv */header('Content-Type: text/csv; charset=cp1252');header('Content-Disposition: attachment;filename=output.csv');/*  * output header row (if atleast one row exists)  */   $row = mysql_fetch_assoc($result); if ($row) {  echocsv(array_keys($row));}/* * output data rows (if atleast one row exists) */while ($row) {  echocsv($row);  $row = mysql_fetch_assoc($result);}/* * echo the input array as csv data maintaining consistency with most CSV implementations * - uses double-quotes as enclosure when necessary * - uses double double-quotes to escape double-quotes * - uses CRLF as a line separator */function echocsv($fields){  $separator = '';  foreach ($fields as $field) {    if (preg_match('///r|//n|,|"/', $field)) { $field = '"' . str_replace('"', '""', $field) . '"';    }    echo $separator . $field;    $separator = ',';  }  echo "/r/n";}?>

希望本文所述对大家的php程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表