The method of generating csv files in php is very simple. Here I will introduce an example I used to directly convert an array into a csv file for output. Friends who need to know more can refer to it.
Example
The code is as follows
代码如下 |
复制代码 |
$data = array(
array( 'row_1_col_1', 'row_1_col_2', 'row_1_col_3' ),
array( 'row_2_col_1', 'row_2_col_2', 'row_2_col_3' ),
array( 'row_3_col_1', 'row_3_col_2', 'row_3_col_3' ),
);
$filename = "example";
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename={$filename}.csv");
header("Pragma: no-cache");
header("Expires: 0");
outputCSV($data);
function outputCSV($data) {
$outputBuffer = fopen("php://output", 'w');
foreach($data as $val) {
foreach ($val as $key => $val2) {
$val[$key] = iconv('utf-8', 'gbk', $val2);// CSV的Excel支持GBK编码,一定要转换,否则乱码
}
fputcsv($outputBuffer, $val);
}
fclose($outputBuffer);
}
?>
|
|
Copy code
|
$data = array(
array( 'row_1_col_1', 'row_1_col_2', 'row_1_col_3' ),
array( 'row_2_col_1', 'row_2_col_2', 'row_2_col_3' ),
array( 'row_3_col_1', 'row_3_col_2', 'row_3_col_3' ),
);
$filename = "example";
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename={$filename}.csv");
header("Pragma: no-cache");
header("Expires: 0");
outputCSV($data);
function outputCSV($data) {
$outputBuffer = fopen("php://output", 'w');
foreach($data as $val) {
foreach ($val as $key => $val2) {
$val[$key] = iconv('utf-8', 'gbk', $val2);// Excel for CSV supports GBK encoding, you must convert it, otherwise the code will be garbled
fputcsv($outputBuffer, $val);
fclose($outputBuffer);
}
?>
Example 2
代码如下 |
复制代码 |
/** by www.bKjia.c0m */
$row = 1;
$handle = fopen("file.csv","r");
//fgetcsv() 解析读入的行并找出 CSV格式的字段然后返回一个包含这些字段的数组。
while ($data = fgetcsv($handle, 1000, ",")) {
$num = count($data);
echo " $num fields in line $row: n";
$row++;
for ($c=0; $c < $num; $c++) {
//注意中文乱码问题
$data[$c]=iconv("gbk", "utf-8//IGNORE",$data[$c]);
echo $data[$c] . " n";
}
}
fclose($handle);
?>
|
| Look at an example of reading a csv file
Read cvs, use fgetcsv() to read a line from the file pointer and parse the CSV field
For example, I want to read the following csv file
The code is as follows
|
Copy code
/**by www.bKjia.c0m*/
$row = 1;
$handle = fopen("file.csv","r");
//fgetcsv() parses the read line and finds the fields in CSV format and returns an array containing those fields.
while ($data = fgetcsv($handle, 1000, ",")) {
$num = count($data);
echo " $num fields in line $row: n";
$row++;
for ($c=0; $c < $num; $c++) {
//Pay attention to the problem of Chinese garbled characters
$data[$c]=iconv("gbk", "utf-8//IGNORE",$data[$c]);
echo $data[$c] . " n";
}
}
fclose($handle);
?>
http://www.bkjia.com/PHPjc/632920.html www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632920.htmlTechArticleThe method of generating csv files in php is very simple. Here I will introduce an example I use. Convert the array directly into a csv file and output it. Friends who need to know more can refer to it. For example...
|
|