Home >Backend Development >PHP Tutorial >Generate csv file from php array array_PHP tutorial

Generate csv file from php array array_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:46:451251browse

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

Look at an example of reading a csv file
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);
?>

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...
Statement:
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