Rumah >pembangunan bahagian belakang >tutorial php >PHP进行读取CSV文件数据和生成CSV文件

PHP进行读取CSV文件数据和生成CSV文件

不言
不言asal
2018-04-09 17:00:332658semak imbas

本篇文章给大家分享的内容是PHP进行读取CSV文件数据和生成CSV文件 ,有需要的朋友可以参考一下

先看读取

function read_csv($file)
{
    setlocale(LC_ALL,'zh_CN');//linux系统下生效
    $data = null;//返回的文件数据行
    if(!is_file($file)&&!file_exists($file))
    {
        die('文件错误');
    }
    $cvs_file = fopen($file,'r'); //开始读取csv文件数据
    $i = 0;//记录cvs的行
    while ($file_data = fgetcsv($cvs_file))
    {
        $i++;
        if($i==1)
        {
            continue;//过滤表头
        }
        if($file_data[0]!='')
        {
            $data[$i] = $file_data;
        }

    }
    fclose($cvs_file);
    return $data;
}

在看写入

function createcsv($csv_body)
{
    // 头部标题
    $csv_header = array('sku','我们自己的成本价','京东自己的销售价','对比结果');

    /**
     * 开始生成
     * 1. 首先将数组拆分成以逗号(注意需要英文)分割的字符串
     * 2. 然后加上每行的换行符号,这里建议直接使用PHP的预定义
     * 常量PHP_EOL
     * 3. 最后写入文件
     */
// 打开文件资源,不存在则创建
    $des_file = 'd:/res.csv';
    $fp = fopen(    $des_file,'a');
// 处理头部标题
    $header = implode(',', $csv_header) . PHP_EOL;
// 处理内容
    $content = '';
    foreach ($csv_body as $k => $v) {
        $content .= implode(',', $v) . PHP_EOL;
    }
// 拼接
    $csv = $header.$content;
// 写入并关闭资源
    fwrite($fp, $csv);
    fclose($fp);
}

关于中文读取乱码 我另外一篇文章有处理。请大家留心。

相关推荐:

PHP进行API接口测试

PHP进行字符格式化

如何利用php进行文件扩展名判断

Atas ialah kandungan terperinci PHP进行读取CSV文件数据和生成CSV文件 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn