php之读取csv文件!!!
2016-09-28 21:55
417 查看
<?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,附加属性值value2
xueqi,血气,决定生死
jignqi,精气,施放技能消耗
neili,内力,特殊技能会消耗
fali,法力,特殊技能会消耗
相关文章推荐
- php命名空间namespace全解
- php+curl上传文件
- php删除多重数组对象属性,重新赋值的方法
- TinkPHP3.2.2中调用自定义跳转页面
- 自动ftp 上传
- php浮点数四舍五入函数
- php 抽象类,接口定义
- php中字母大小写转换函数
- 关于热插拔usb hotplug /proc/sys/kernel mdev udev busybox
- PHP中的工厂设计模式【实例】
- PHP 运算符 OR 和 || 优先级的问题
- PHP CURL 总结
- 将H264码流打包成RTP包
- php 中preg的使用
- php 便利数组方法
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
- PHP webservice 的初接触
- thinkphp 5 阅读笔记——Hook
- php基础算法
- php函数多参数传递,从GA源代码摘取