php之读取csv文件!!!

来源:互联网 发布:vue.js ide工具 编辑:程序博客网 时间:2024/05/18 14:43
<?php Class Csv{    private static $m_instance;    public $csv;    public static function inst(){        if(!(self::$m_instance instanceof self)){        self::$m_instance = new self;        }        return self::$m_instance;    }    public function __construct() {        $csv = array();        $this->csv = $csv;        $this->loadAllCsv();    }    public function loadAllCsv(){        $arr = array(            'map' => "map.csv",             'map_dir' => "map_dir.csv",             'event' => "event.csv",             'injureDesc' => "injureDesc.csv",             'key' => "key.csv",             'npc' => "npc.csv",             'skill' => "skill.csv",             'skillBook' => "skillBook.csv",             'weapon' => "weapon.csv",            'world' => "world.csv",            'action' => 'action.csv',            'shop' => 'shop.csv',        );        foreach ($arr as $key => $value){             $this->readCsv($key, $_SERVER['DOCUMENT_ROOT'] . '/xiyou/csv/' .  $value);        }    }    public function readCsv($key, $filename){        $file = fopen($filename,'r');         $map_head = array();        $index = 0;        $this->csv[$key] = array();        while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容            if ($index == 0) {                $map_head = $data;                $index++;                continue;            }            if($index == 1){                $index++;                continue; //csv第二行用于说明            }            $map_temp = array();            for ($i = 0; $i < count($map_head); $i++) {                 $map_temp[$map_head[$i]] = $data[$i];            }            $this->csv[$key][$data[0]] = $map_temp;        }         fclose($file);    }}?>


map.csv文件格式如下:(其中第二行不会被读取,作为注释或者说明)

code,name,desc属性key,属性value1,附加属性值value2xueqi,血气,决定生死jignqi,精气,施放技能消耗neili,内力,特殊技能会消耗fali,法力,特殊技能会消耗


0 0
原创粉丝点击