Home > php教程 > php手册 > php使用指定编码导出mysql数据到csv文件的方法

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

WBOY
Release: 2016-06-13 09:08:09
Original
1022 people have browsed it

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

/*

* 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";

}

?>

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template