PHP如何读写csv格式的文件(示例)

2021年1月22日21:21:59 1 237

PHP如何读写csv格式的文件(示例)

介绍一个php读取数据csv文件具体内容的源代码,学习运用fgetcsv函数读取数据csv文件具体内容的办法,包含php操作csv文件的小技巧,相当有着使用价值。下面我们一起来看看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;
}

二、写入csv格式文件

function createcsv($csv_body){
    // 头部标题
    $csv_header = array('sku','我们自己的成本价','京东自己的销售价','对比结果');
    /**
     * 作者:PHP点点通 www.phpddt.com
     * 开始生成
     * 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);
}

三、fgetcsv函数定义和用法

fgetcsv() 函数从打开的文件中解析一行,校验 CSV 字段。fgetcsv() 函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止返回一个新行。该函数如果成功则以数组形式返回 CSV 字段,如果失败或者到达文件末尾(EOF)则返回 FALSE。

PHP点点通
  • 本文由 发表于 2021年1月22日21:21:59
  • 转载请务必保留本文链接:https://www.phpddt.com/162.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  1   博主  0
    • 555 555 1

      感谢博主分享 支持一下