前端之家收集整理的这篇文章主要介绍了
php 使用指定编码导出mysql数据到csv的简单示例,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对
PHP使用指定的编码导出
MysqL数据到csv的
代码感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
<?PHP
/**
* 使用指定的编码导出MysqL数据到csv的代码
*
* @param
* @author 网: 512Pic.com * 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";
}
/*** 来自编程之家 jb51.cc(jb51.cc) ***/