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

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

WBOY
WBOYOriginal
2016-06-13 09:08:091020Durchsuche

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

}

?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn