|
@@ -0,0 +1,558 @@
|
|
|
+<?php
|
|
|
+/**
|
|
|
+ * Created by PhpStorm.
|
|
|
+ * User: lionared
|
|
|
+ * Date: 2018/1/10
|
|
|
+ * Time: 下午6:38
|
|
|
+ */
|
|
|
+
|
|
|
+namespace car_convert;
|
|
|
+
|
|
|
+use Exception;
|
|
|
+
|
|
|
+class importer
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * @var string $_file: file path to load
|
|
|
+ */
|
|
|
+ protected $_file;
|
|
|
+ /**
|
|
|
+ * @var array $_header: table header 缓存表头字段
|
|
|
+ */
|
|
|
+ protected $_header;
|
|
|
+ /**
|
|
|
+ * @var array $_data: table data 缓存数据各行
|
|
|
+ */
|
|
|
+ protected $_data;
|
|
|
+ /**
|
|
|
+ * @var string 解析csv文件分隔符
|
|
|
+ */
|
|
|
+ const _delimiter = ',';
|
|
|
+
|
|
|
+ private static $stAlias = null;
|
|
|
+ /**
|
|
|
+ * @var $_fileds_pos: 缓存各字段对应坐标
|
|
|
+ */
|
|
|
+ private $_fileds_pos;
|
|
|
+ /**
|
|
|
+ * ImportAutoData constructor.
|
|
|
+ * @param $filepath
|
|
|
+ * @throws \Exception
|
|
|
+ */
|
|
|
+ public function __construct($filepath)
|
|
|
+ {
|
|
|
+ if(self::$stAlias == null) {
|
|
|
+ self::init_alias();
|
|
|
+ }
|
|
|
+
|
|
|
+ if(is_file($filepath)) {
|
|
|
+ $this->_file = $filepath;
|
|
|
+ } else {
|
|
|
+ throw new Exception("no file given!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ private static function init_alias()
|
|
|
+ {
|
|
|
+ self::$stAlias = [];
|
|
|
+ self::$stAlias['base_info'] = self::base_info();
|
|
|
+ self::$stAlias['body_info'] = self::body_info();
|
|
|
+ self::$stAlias['engine_info'] = self::engine_info();
|
|
|
+ self::$stAlias['motor_info'] = self::motor_info();
|
|
|
+ self::$stAlias['gearbox_info'] = self::gearbox_info();
|
|
|
+ self::$stAlias['underpan_info'] = self::underpan_info();
|
|
|
+ self::$stAlias['brake_info'] = self::brake_info();
|
|
|
+ self::$stAlias['secure_info'] = self::secure_info();
|
|
|
+ self::$stAlias['oper_info'] = self::oper_info();
|
|
|
+ self::$stAlias['guard_info'] = self::guard_info();
|
|
|
+ self::$stAlias['inside_info'] = self::inside_info();
|
|
|
+ self::$stAlias['seat_info'] = self::seat_info();
|
|
|
+ self::$stAlias['media_info'] = self::media_info();
|
|
|
+ self::$stAlias['light_info'] = self::light_info();
|
|
|
+ self::$stAlias['glass_info'] = self::glass_info();
|
|
|
+ self::$stAlias['air_info'] = self::air_info();
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function body_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'车身-长度(mm)', 'alias'=>'length'],
|
|
|
+ [ 'origin'=>'车身-宽度(mm)', 'alias'=>'width' ],
|
|
|
+ [ 'origin'=>'车身-高度(mm)', 'alias'=>'height'],
|
|
|
+ [ 'origin'=>'车身-轴距(mm)', 'alias'=>'between_wheels'],
|
|
|
+ [ 'origin'=>'车身-前轮距(mm)', 'alias'=>'front_wheels_distance'],
|
|
|
+ [ 'origin'=>'车身-后轮距(mm)', 'alias'=>'back_wheels_distance'],
|
|
|
+ [ 'origin'=>'车身-最小离地间隙(mm)', 'alias'=>'min_ground'],
|
|
|
+ [ 'origin'=>'车身-整备质量(kg)', 'alias'=>'total_weight'],
|
|
|
+ [ 'origin'=>'车身-车身结构', 'alias'=>'body_struct'],
|
|
|
+ [ 'origin'=>'车身-车门数(个)', 'alias'=>'doors'],
|
|
|
+ [ 'origin'=>'车身-座位数(个)', 'alias'=>'seats'],
|
|
|
+ [ 'origin'=>'车身-油箱容积(L)', 'alias'=>'fuel_vol'],
|
|
|
+ [ 'origin'=>'车身-行李厢容积(L)', 'alias'=>'cargo_vol'],
|
|
|
+ [ 'origin'=>'车身-后排车门开启方式', 'alias'=>'cdoor'],
|
|
|
+ [ 'origin'=>'车身-货箱尺寸(mm)', 'alias'=>'cargo_size'],
|
|
|
+ [ 'origin'=>'车身-最大载重质量(kg)', 'alias'=>'carry_cap'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function base_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'车系ID', 'alias'=>'car_id'],
|
|
|
+ [ 'origin'=>'品牌', 'alias'=>'brand'],
|
|
|
+ [ 'origin'=>'品牌图标', 'alias'=>'brand_logo'],
|
|
|
+ [ 'origin'=>'国家', 'alias'=>'country'],
|
|
|
+ [ 'origin'=>'车系', 'alias'=>'car_series'],
|
|
|
+ [ 'origin'=>'生产方式', 'alias'=>'produce_type'],
|
|
|
+ [ 'origin'=>'车系首页', 'alias'=>'series_home'],
|
|
|
+ [ 'origin'=>'车型ID', 'alias'=>'type_id'],
|
|
|
+ [ 'origin'=>'基本参数-车型名称', 'alias'=>'type_name'],
|
|
|
+ [ 'origin'=>'基本参数-厂商指导价(元)', 'alias'=>'market_price'],
|
|
|
+ [ 'origin'=>'基本参数-厂商', 'alias'=>'manufacturer'],
|
|
|
+ [ 'origin'=>'基本参数-级别', 'alias'=>'car_level'],
|
|
|
+ [ 'origin'=>'基本参数-上市时间', 'alias'=>'market_time'],
|
|
|
+ [ 'origin'=>'基本参数-发动机', 'alias'=>'engine'],
|
|
|
+ [ 'origin'=>'基本参数-变速箱', 'alias'=>'gearbox'],
|
|
|
+ [ 'origin'=>'基本参数-长*宽*高(mm)', 'alias'=>'car_size'],
|
|
|
+ [ 'origin'=>'基本参数-车身结构', 'alias'=>'car_struct'],
|
|
|
+ [ 'origin'=>'基本参数-最高车速(km/h)', 'alias'=>'max_speed'],
|
|
|
+ [ 'origin'=>'基本参数-官方0-100km/h加速(s)', 'alias'=>'official_speedup'],
|
|
|
+ [ 'origin'=>'基本参数-实测0-100km/h加速(s)', 'alias'=>'actual_speedup'],
|
|
|
+ [ 'origin'=>'基本参数-实测100-0km/h制动(m)', 'alias'=>'actual_brake'],
|
|
|
+ [ 'origin'=>'基本参数-实测油耗(L/100km)', 'alias'=>'actual_fueluse'],
|
|
|
+ [ 'origin'=>'基本参数-工信部综合油耗(L/100km)', 'alias'=>'gerenal_fueluse'],
|
|
|
+ [ 'origin'=>'基本参数-实测离地间隙(mm)', 'alias'=>'actual_ground'],
|
|
|
+ [ 'origin'=>'基本参数-整车质保', 'alias'=>'quality_guarantee'],
|
|
|
+ [ 'origin'=>'基本参数-能源类型', 'alias'=>'energy_type'],
|
|
|
+ [ 'origin'=>'基本参数-最大功率(kW)', 'alias'=>'max_power'],
|
|
|
+ [ 'origin'=>'基本参数-最大扭矩(N・m)', 'alias'=>'max_torque'],
|
|
|
+ [ 'origin'=>'基本参数-纯电续航里程', 'alias'=>'electric_cruise'],
|
|
|
+ [ 'origin'=>'基本参数-电池充电时间', 'alias'=>'electric_power'],
|
|
|
+ [ 'origin'=>'基本参数-快充电量百分比', 'alias'=>'fast_charge']];
|
|
|
+
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function engine_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'发动机-发动机型号', 'alias'=>'engine0'],
|
|
|
+ [ 'origin'=>'发动机-排量(mL)', 'alias'=>'engine1'],
|
|
|
+ [ 'origin'=>'发动机-进气形式', 'alias'=>'engine2'],
|
|
|
+ [ 'origin'=>'发动机-气缸排列形式', 'alias'=>'engine3'],
|
|
|
+ [ 'origin'=>'发动机-气缸数(个)', 'alias'=>'engine4'],
|
|
|
+ [ 'origin'=>'发动机-每缸气门数(个)', 'alias'=>'engine5'],
|
|
|
+ [ 'origin'=>'发动机-压缩比', 'alias'=>'engine6'],
|
|
|
+ [ 'origin'=>'发动机-配气机构', 'alias'=>'engine7'],
|
|
|
+ [ 'origin'=>'发动机-缸径(mm)', 'alias'=>'engine8'],
|
|
|
+ [ 'origin'=>'发动机-行程(mm)', 'alias'=>'engine9'],
|
|
|
+ [ 'origin'=>'发动机-最大马力(Ps)', 'alias'=>'engine10'],
|
|
|
+ [ 'origin'=>'发动机-最大功率(kW)', 'alias'=>'engine11'],
|
|
|
+ [ 'origin'=>'发动机-最大功率转速(rpm)', 'alias'=>'engine12'],
|
|
|
+ [ 'origin'=>'发动机-最大扭矩(N・m)', 'alias'=>'engine13'],
|
|
|
+ [ 'origin'=>'发动机-最大扭矩转速(rpm)', 'alias'=>'engine14'],
|
|
|
+ [ 'origin'=>'发动机-发动机特有技术', 'alias'=>'engine15'],
|
|
|
+ [ 'origin'=>'发动机-燃料形式', 'alias'=>'engine16'],
|
|
|
+ [ 'origin'=>'发动机-燃油标号', 'alias'=>'engine17'],
|
|
|
+ [ 'origin'=>'发动机-供油方式', 'alias'=>'engine18'],
|
|
|
+ [ 'origin'=>'发动机-缸盖材料', 'alias'=>'engine19'],
|
|
|
+ [ 'origin'=>'发动机-缸体材料', 'alias'=>'engine20'],
|
|
|
+ [ 'origin'=>'发动机-环保标准', 'alias'=>'engine21']
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function motor_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'电动机-电机类型', 'alias'=>'motor0'],
|
|
|
+ [ 'origin'=>'电动机-电动机总功率(kW)', 'alias'=>'motor1'],
|
|
|
+ [ 'origin'=>'电动机-电动机总扭矩(N・m)', 'alias'=>'motor2'],
|
|
|
+ [ 'origin'=>'电动机-前电动机最大功率(kW)', 'alias'=>'motor3'],
|
|
|
+ [ 'origin'=>'电动机-前电动机最大扭矩(N・m)', 'alias'=>'motor4'],
|
|
|
+ [ 'origin'=>'电动机-后电动机最大功率(kW)', 'alias'=>'motor5'],
|
|
|
+ [ 'origin'=>'电动机-后电动机最大扭矩(N・m)', 'alias'=>'motor6'],
|
|
|
+ [ 'origin'=>'电动机-系统综合功率(kW)', 'alias'=>'motor7'],
|
|
|
+ [ 'origin'=>'电动机-系统综合扭矩(N・m)', 'alias'=>'motor8'],
|
|
|
+ [ 'origin'=>'电动机-驱动电机数', 'alias'=>'motor9'],
|
|
|
+ [ 'origin'=>'电动机-电机布局', 'alias'=>'motor10'],
|
|
|
+ [ 'origin'=>'电动机-电池类型', 'alias'=>'motor11'],
|
|
|
+ [ 'origin'=>'电动机-工信部续航里程(km)', 'alias'=>'motor12'],
|
|
|
+ [ 'origin'=>'电动机-电池容量(kWh)', 'alias'=>'motor13'],
|
|
|
+ [ 'origin'=>'电动机-百公里耗电量(kWh/100km)', 'alias'=>'motor14'],
|
|
|
+ [ 'origin'=>'电动机-电池组质保', 'alias'=>'motor15'],
|
|
|
+ [ 'origin'=>'电动机-电池充电时间', 'alias'=>'motor16'],
|
|
|
+ [ 'origin'=>'电动机-快充电量(%)', 'alias'=>'motor17'],
|
|
|
+ [ 'origin'=>'电动机-充电桩价格', 'alias'=>'motor18'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function gearbox_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'变速箱-简称', 'alias'=>'gearbox0'],
|
|
|
+ [ 'origin'=>'变速箱-挡位个数', 'alias'=>'gearbox1'],
|
|
|
+ [ 'origin'=>'变速箱-变速箱类型', 'alias'=>'gearbox2'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function underpan_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'底盘转向-驱动方式', 'alias'=>'underpan0'],
|
|
|
+ [ 'origin'=>'底盘转向-前悬架类型', 'alias'=>'underpan1'],
|
|
|
+ [ 'origin'=>'底盘转向-后悬架类型', 'alias'=>'underpan2'],
|
|
|
+ [ 'origin'=>'底盘转向-助力类型', 'alias'=>'underpan3'],
|
|
|
+ [ 'origin'=>'底盘转向-车体结构', 'alias'=>'underpan4'],
|
|
|
+ [ 'origin'=>'底盘转向-四驱形式', 'alias'=>'underpan5'],
|
|
|
+ [ 'origin'=>'底盘转向-中央差速器结构', 'alias'=>'underpan6'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function brake_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'车轮制动-前制动器类型', 'alias'=>'brake0'],
|
|
|
+ [ 'origin'=>'车轮制动-后制动器类型', 'alias'=>'brake1'],
|
|
|
+ [ 'origin'=>'车轮制动-驻车制动类型', 'alias'=>'brake2'],
|
|
|
+ [ 'origin'=>'车轮制动-前轮胎规格', 'alias'=>'brake3'],
|
|
|
+ [ 'origin'=>'车轮制动-后轮胎规格', 'alias'=>'brake4'],
|
|
|
+ [ 'origin'=>'车轮制动-备胎规格', 'alias'=>'brake5'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function secure_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'主/被动安全装备-主驾驶座安全气囊', 'alias'=>'secure0'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-副驾驶座安全气囊', 'alias'=>'secure1'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-前/后排侧气囊', 'alias'=>'secure2'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-前/后排头部气囊(气帘)', 'alias'=>'secure3'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-膝部气囊', 'alias'=>'secure4'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-胎压监测装置', 'alias'=>'secure5'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-零胎压继续行驶', 'alias'=>'secure6'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-安全带未系提示', 'alias'=>'secure7'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-ISOFIX儿童座椅接口', 'alias'=>'secure8'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-ABS防抱死', 'alias'=>'secure9'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-制动力分配(EBD/CBC等)', 'alias'=>'secure10'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-刹车辅助(EBA/BAS/BA等)', 'alias'=>'secure11'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-牵引力控制(ASR/TCS/TRC等)', 'alias'=>'secure12'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-车身稳定控制(ESC/ESP/DSC等)', 'alias'=>'secure13'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-并线辅助', 'alias'=>'secure14'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-车道偏离预警系统', 'alias'=>'secure15'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-主动刹车/主动安全系统', 'alias'=>'secure16'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-夜视系统', 'alias'=>'secure17'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-疲劳驾驶提示', 'alias'=>'secure18'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-主/副驾驶座安全气囊', 'alias'=>'secure19'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-前排侧气囊', 'alias'=>'secure20'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-后排侧气囊', 'alias'=>'secure21'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-前排头部气囊(气帘)', 'alias'=>'secure22'],
|
|
|
+ [ 'origin'=>'主/被动安全装备-后排头部气囊(气帘)', 'alias'=>'secure23']
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function oper_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'辅助/操控配置-前驻车雷达', 'alias'=>'oper0'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-后驻车雷达', 'alias'=>'oper1'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-倒车视频影像', 'alias'=>'oper2'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-全景摄像头', 'alias'=>'oper3'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-定速巡航', 'alias'=>'oper4'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-自适应巡航', 'alias'=>'oper5'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-自动泊车入位', 'alias'=>'oper6'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-发动机启停技术', 'alias'=>'oper7'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-自动驾驶技术', 'alias'=>'oper8'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-上坡辅助', 'alias'=>'oper9'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-自动驻车', 'alias'=>'oper10'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-陡坡缓降', 'alias'=>'oper11'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-可变悬架', 'alias'=>'oper12'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-空气悬架', 'alias'=>'oper13'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-电磁感应悬架', 'alias'=>'oper14'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-可变转向比', 'alias'=>'oper15'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-前桥限滑差速器/差速锁', 'alias'=>'oper16'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-中央差速器锁止功能', 'alias'=>'oper17'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-后桥限滑差速器/差速锁', 'alias'=>'oper18'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-整体主动转向系统', 'alias'=>'oper19'],
|
|
|
+ [ 'origin'=>'辅助/操控配置-前/后驻车雷达', 'alias'=>'oper20'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function guard_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'外部/防盗配置-电动天窗', 'alias'=>'guard0'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-全景天窗', 'alias'=>'guard1'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-多天窗', 'alias'=>'guard2'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-运动外观套件', 'alias'=>'guard3'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-铝合金轮圈', 'alias'=>'guard4'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-电动吸合门', 'alias'=>'guard5'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-侧滑门', 'alias'=>'guard6'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-电动后备厢', 'alias'=>'guard7'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-感应后备厢', 'alias'=>'guard8'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-车顶行李架', 'alias'=>'guard9'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-发动机电子防盗', 'alias'=>'guard10'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-车内中控锁', 'alias'=>'guard11'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-遥控钥匙', 'alias'=>'guard12'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-无钥匙启动系统', 'alias'=>'guard13'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-无钥匙进入系统', 'alias'=>'guard14'],
|
|
|
+ [ 'origin'=>'外部/防盗配置-远程启动', 'alias'=>'guard15'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function inside_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'内部配置-皮质方向盘', 'alias'=>'inside0'],
|
|
|
+ [ 'origin'=>'内部配置-方向盘调节', 'alias'=>'inside1'],
|
|
|
+ [ 'origin'=>'内部配置-方向盘电动调节', 'alias'=>'inside2'],
|
|
|
+ [ 'origin'=>'内部配置-多功能方向盘', 'alias'=>'inside3'],
|
|
|
+ [ 'origin'=>'内部配置-方向盘换挡', 'alias'=>'inside4'],
|
|
|
+ [ 'origin'=>'内部配置-方向盘加热', 'alias'=>'inside5'],
|
|
|
+ [ 'origin'=>'内部配置-方向盘记忆', 'alias'=>'inside6'],
|
|
|
+ [ 'origin'=>'内部配置-行车电脑显示屏', 'alias'=>'inside7'],
|
|
|
+ [ 'origin'=>'内部配置-全液晶仪表盘', 'alias'=>'inside8'],
|
|
|
+ [ 'origin'=>'内部配置-HUD抬头数字显示', 'alias'=>'inside9'],
|
|
|
+ [ 'origin'=>'内部配置-内置行车记录仪', 'alias'=>'inside10'],
|
|
|
+ [ 'origin'=>'内部配置-主动降噪', 'alias'=>'inside11'],
|
|
|
+ [ 'origin'=>'内部配置-手机无线充电', 'alias'=>'inside12'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function seat_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'座椅配置-座椅材质', 'alias'=>'seat0'],
|
|
|
+ [ 'origin'=>'座椅配置-运动风格座椅', 'alias'=>'seat1'],
|
|
|
+ [ 'origin'=>'座椅配置-座椅高低调节', 'alias'=>'seat2'],
|
|
|
+ [ 'origin'=>'座椅配置-腰部支撑调节', 'alias'=>'seat3'],
|
|
|
+ [ 'origin'=>'座椅配置-肩部支撑调节', 'alias'=>'seat4'],
|
|
|
+ [ 'origin'=>'座椅配置-主/副驾驶座电动调节', 'alias'=>'seat5'],
|
|
|
+ [ 'origin'=>'座椅配置-第二排靠背角度调节', 'alias'=>'seat6'],
|
|
|
+ [ 'origin'=>'座椅配置-第二排座椅移动', 'alias'=>'seat7'],
|
|
|
+ [ 'origin'=>'座椅配置-后排座椅电动调节', 'alias'=>'seat8'],
|
|
|
+ [ 'origin'=>'座椅配置-副驾驶位后排可调节按钮', 'alias'=>'seat9'],
|
|
|
+ [ 'origin'=>'座椅配置-电动座椅记忆', 'alias'=>'seat10'],
|
|
|
+ [ 'origin'=>'座椅配置-前排座椅加热', 'alias'=>'seat11'],
|
|
|
+ [ 'origin'=>'座椅配置-后排座椅加热', 'alias'=>'seat12'],
|
|
|
+ [ 'origin'=>'座椅配置-前/后排座椅通风', 'alias'=>'seat13'],
|
|
|
+ [ 'origin'=>'座椅配置-前/后排座椅按摩', 'alias'=>'seat14'],
|
|
|
+ [ 'origin'=>'座椅配置-第二排独立座椅', 'alias'=>'seat15'],
|
|
|
+ [ 'origin'=>'座椅配置-第三排座椅', 'alias'=>'seat16'],
|
|
|
+ [ 'origin'=>'座椅配置-后排座椅放倒方式', 'alias'=>'seat17'],
|
|
|
+ [ 'origin'=>'座椅配置-前中央扶手', 'alias'=>'seat18'],
|
|
|
+ [ 'origin'=>'座椅配置-后中央扶手', 'alias'=>'seat19'],
|
|
|
+ [ 'origin'=>'座椅配置-后排杯架', 'alias'=>'seat20'],
|
|
|
+ [ 'origin'=>'座椅配置-可加热/制冷杯架', 'alias'=>'seat21'],
|
|
|
+ [ 'origin'=>'座椅配置-前/后排座椅加热', 'alias'=>'seat22'],
|
|
|
+ [ 'origin'=>'座椅配置-前/后中央扶手', 'alias'=>'seat23'],
|
|
|
+ [ 'origin'=>'座椅配置-主驾驶座电动调节', 'alias'=>'seat24'],
|
|
|
+ [ 'origin'=>'座椅配置-副驾驶座电动调节', 'alias'=>'seat25'],
|
|
|
+ [ 'origin'=>'座椅配置-前排座椅通风', 'alias'=>'seat26'],
|
|
|
+ [ 'origin'=>'座椅配置-后排座椅通风', 'alias'=>'seat27'],
|
|
|
+ [ 'origin'=>'座椅配置-前排座椅按摩', 'alias'=>'seat28'],
|
|
|
+ [ 'origin'=>'座椅配置-后排座椅按摩', 'alias'=>'seat29'],
|
|
|
+ [ 'origin'=>'座椅配置-可加热冷杯架', 'alias'=>'seat30'],
|
|
|
+ [ 'origin'=>'座椅配置-可加制冷杯架', 'alias'=>'seat31'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function media_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'多媒体配置-GPS导航系统', 'alias'=>'media0'],
|
|
|
+ [ 'origin'=>'多媒体配置-定位互动服务', 'alias'=>'media1'],
|
|
|
+ [ 'origin'=>'多媒体配置-中控台彩色大屏', 'alias'=>'media2'],
|
|
|
+ [ 'origin'=>'多媒体配置-中控台彩色大屏尺寸', 'alias'=>'media3'],
|
|
|
+ [ 'origin'=>'多媒体配置-中控液晶屏分屏显示', 'alias'=>'media4'],
|
|
|
+ [ 'origin'=>'多媒体配置-蓝牙/车载电话', 'alias'=>'media5'],
|
|
|
+ [ 'origin'=>'多媒体配置-手机互联/映射', 'alias'=>'media6'],
|
|
|
+ [ 'origin'=>'多媒体配置-车联网', 'alias'=>'media7'],
|
|
|
+ [ 'origin'=>'多媒体配置-车载电视', 'alias'=>'media8'],
|
|
|
+ [ 'origin'=>'多媒体配置-后排液晶屏', 'alias'=>'media9'],
|
|
|
+ [ 'origin'=>'多媒体配置-220V/230V电源', 'alias'=>'media10'],
|
|
|
+ [ 'origin'=>'多媒体配置-外接音源接口', 'alias'=>'media11'],
|
|
|
+ [ 'origin'=>'多媒体配置-CD/DVD', 'alias'=>'media12'],
|
|
|
+ [ 'origin'=>'多媒体配置-扬声器品牌', 'alias'=>'media13'],
|
|
|
+ [ 'origin'=>'多媒体配置-扬声器数量', 'alias'=>'media14'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function light_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'灯光配置-近光灯', 'alias'=>'light0'],
|
|
|
+ [ 'origin'=>'灯光配置-远光灯', 'alias'=>'light1'],
|
|
|
+ [ 'origin'=>'灯光配置-LED日间行车灯', 'alias'=>'light2'],
|
|
|
+ [ 'origin'=>'灯光配置-自适应远近光', 'alias'=>'light3'],
|
|
|
+ [ 'origin'=>'灯光配置-自动头灯', 'alias'=>'light4'],
|
|
|
+ [ 'origin'=>'灯光配置-转向辅助灯', 'alias'=>'light5'],
|
|
|
+ [ 'origin'=>'灯光配置-转向头灯', 'alias'=>'light6'],
|
|
|
+ [ 'origin'=>'灯光配置-前雾灯', 'alias'=>'light7'],
|
|
|
+ [ 'origin'=>'灯光配置-大灯高度可调', 'alias'=>'light8'],
|
|
|
+ [ 'origin'=>'灯光配置-大灯清洗装置', 'alias'=>'light9'],
|
|
|
+ [ 'origin'=>'灯光配置-车内氛围灯', 'alias'=>'light10'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function glass_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'玻璃/后视镜-前电动车窗', 'alias'=>'glass0'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-后电动车窗', 'alias'=>'glass1'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-车窗一键升降', 'alias'=>'glass2'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-车窗防夹手功能', 'alias'=>'glass3'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-防紫外线/隔热玻璃', 'alias'=>'glass4'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-后视镜电动调节', 'alias'=>'glass5'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-后视镜加热', 'alias'=>'glass6'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-内/外后视镜自动防眩目', 'alias'=>'glass7'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-流媒体车内后视镜', 'alias'=>'glass8'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-后视镜电动折叠', 'alias'=>'glass9'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-后视镜记忆', 'alias'=>'glass10'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-后风挡遮阳帘', 'alias'=>'glass11'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-后排侧遮阳帘', 'alias'=>'glass12'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-后排侧隐私玻璃', 'alias'=>'glass13'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-遮阳板化妆镜', 'alias'=>'glass14'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-后雨刷', 'alias'=>'glass15'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-感应雨刷', 'alias'=>'glass16'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-内后视镜自动防眩目', 'alias'=>'glass17'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-外后视镜自动防眩目', 'alias'=>'glass18'],
|
|
|
+ [ 'origin'=>'玻璃/后视镜-前/后电动车窗', 'alias'=>'glass19'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static function air_info()
|
|
|
+ {
|
|
|
+ $data = [
|
|
|
+ [ 'origin'=>'空调/冰箱-空调控制方式', 'alias'=>'air0'],
|
|
|
+ [ 'origin'=>'空调/冰箱-后排独立空调', 'alias'=>'air1'],
|
|
|
+ [ 'origin'=>'空调/冰箱-后座出风口', 'alias'=>'air2'],
|
|
|
+ [ 'origin'=>'空调/冰箱-温度分区控制', 'alias'=>'air3'],
|
|
|
+ [ 'origin'=>'空调/冰箱-车内空气调节/花粉过滤', 'alias'=>'air4'],
|
|
|
+ [ 'origin'=>'空调/冰箱-车载空气净化器', 'alias'=>'air5'],
|
|
|
+ [ 'origin'=>'空调/冰箱-车载冰箱', 'alias'=>'air6'],
|
|
|
+ ];
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * read data from file and fill into this _header & _data
|
|
|
+ */
|
|
|
+ public function read_data()
|
|
|
+ {
|
|
|
+ $encoding = $this->encoding();
|
|
|
+ if($encoding == false) return [];
|
|
|
+
|
|
|
+ $data = [];
|
|
|
+
|
|
|
+ $file = @fopen($this->_file, 'r');
|
|
|
+ $i = 0;
|
|
|
+ while( !@feof($file) )
|
|
|
+ {
|
|
|
+ if( $line = @fgets($file) )
|
|
|
+ {
|
|
|
+ if($i == 0) {
|
|
|
+ $this->_header = explode(self::_delimiter, trim(iconv($encoding, 'UTF-8', $line)));
|
|
|
+ } else {
|
|
|
+ $data[] = explode(self::_delimiter, trim(iconv($encoding, 'UTF-8', $line)));
|
|
|
+ }
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!empty($data)) {
|
|
|
+ $this->_data = $data;
|
|
|
+ }
|
|
|
+ @fclose($file);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 解析各数据表所属字段在_data中所在位置
|
|
|
+ * @param array $tables: 需解析的数据表名, ['base_info', 'body_info', 'engine_info', 'motor_info', 'gearbox_info', 'underpan_info',
|
|
|
+ * 'brake_info', 'secure_info', 'oper_info', 'guard_info', 'inside_info', 'seat_info',
|
|
|
+ * 'media_info', 'light_info', 'glass_info', 'air_info']
|
|
|
+ */
|
|
|
+ public function resolve($tables)
|
|
|
+ {
|
|
|
+ if(empty($this->_header)) {
|
|
|
+ $this->read_data();
|
|
|
+ };
|
|
|
+
|
|
|
+ foreach ($tables as $table) {
|
|
|
+ $this->resolve_field($table);
|
|
|
+ }
|
|
|
+ return $this->_fileds_pos;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 根据表名返回数据
|
|
|
+ * @param $table_name: 'base_info', 'body_info', 'engine_info', 'motor_info', 'gearbox_info', 'underpan_info',
|
|
|
+ * 'brake_info', 'secure_info', 'oper_info', 'guard_info', 'inside_info', 'seat_info',
|
|
|
+ * 'media_info', 'light_info', 'glass_info', 'air_info'
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function get_data($table_name)
|
|
|
+ {
|
|
|
+ if(empty($this->_fileds_pos[$table_name])) {
|
|
|
+ $this->resolve( array($table_name) );
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!isset($this->_fileds_pos[$table_name])) return [];
|
|
|
+
|
|
|
+ $datas = [];
|
|
|
+
|
|
|
+ foreach ($this->_data as $key=>$item)
|
|
|
+ {
|
|
|
+ foreach ($this->_fileds_pos[$table_name] as $index=>$value) {
|
|
|
+ $datas[$key][$index] = $item[$value];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return $datas;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * resolve the index of fields in this _header
|
|
|
+ * @param $table_name
|
|
|
+ */
|
|
|
+ private function resolve_field($table_name)
|
|
|
+ {
|
|
|
+ if(!isset(self::$stAlias[$table_name])) return false;
|
|
|
+
|
|
|
+ foreach (self::$stAlias[$table_name] as $alias)
|
|
|
+ {
|
|
|
+ $header_fields[$alias['alias']] = $alias['origin'];
|
|
|
+ }
|
|
|
+
|
|
|
+ if(empty($header_fields)) return false;
|
|
|
+
|
|
|
+ foreach ($this->_header as $key=>$item)
|
|
|
+ {
|
|
|
+ if(in_array($item, $header_fields)) {
|
|
|
+ $index = array_search($item, $header_fields);
|
|
|
+ $this->_fileds_pos[$table_name][$index] = $key;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * @return false|string
|
|
|
+ */
|
|
|
+ private function encoding()
|
|
|
+ {
|
|
|
+ $content = file_get_contents($this->_file);
|
|
|
+ $encoding = mb_detect_encoding($content, ['GB2312','GBK','UTF-16','UCS-2','UTF-8','BIG5','ASCII']);
|
|
|
+ return $encoding;
|
|
|
+ }
|
|
|
+
|
|
|
+ private function format_type($value, $type)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+}
|