您的位置:首页 > 编程语言 > PHP开发

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,法力,特殊技能会消耗
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: