您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程
ecshop商城IP库版本升级补丁
傅利2024-04-20 18:16:52ecshop商城教程已有11人查阅
导读ECSHOP官方更新了多个版本,但IP库一直没更新,版本为20071024,相当鸡肋,本升级程序读取纯真IP数据库,独有高压缩比和快速检索算法。
ECSHOP官方更新了多个版本,但IP库一直没更新,版本为20071024,相当鸡肋,本升级程序读取纯真IP数据库,独有高压缩比和快速检索算法。
新版纯真IP库
升级指南
一、下载纯真IP数据库,地址一:本站下载,下载后请重命名为ipdata.dat,覆盖至/includes/codetable/。
二、编辑/includes/lib_base.php,将函数ecs_geoip($ip)替换为
* 获取IP对应的地理位置 * @paramstring
$ip
字符串 * @return string */ function ecs_geoip($ip) { $return = ''; if(preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $ip)) { $iparray = explode('.', $ip); if($iparray[0] == 10 || $iparray[0] == 127 || ($iparray[0] == 192 && $iparray[1] == 168) || ($iparray[0] == 172 && ($iparray[1] >= 16 && $iparray[1] <= 31))) { $return = 'LAN'; } elseif($iparray[0] > 255 || $iparray[1] > 255 || $iparray[2] > 255 || $iparray[3] > 255) { $return = 'Invalid IP Address'; } else { $tinyipfile = ROOT_PATH . 'includes/codetable/ipdata.dat'; //ipdata.dat-纯真网络IP库 if(@file_exists($tinyipfile)) { $return = convertip_tiny($ip, $tinyipfile); } } } return $return; } function convertip_tiny($ip, $ipdatafile) { static $fp = NULL, $offset = array(), $index = NULL; $ipdot = explode('.', $ip); $ip = pack('N', ip2long($ip)); $ipdot[0] = (int)$ipdot[0]; $ipdot[1] = (int)$ipdot[1]; if($fp === NULL && $fp = @fopen($ipdatafile, 'rb')) { $offset = @unpack('Nlen', @fread($fp, 4)); $index = @fread($fp, $offset['len'] - 4); } elseif($fp == FALSE) { return 'Invalid IP data file'; } $length = $offset['len'] - 1028; $start = @unpack('Vlen', $index[$ipdot[0] * 4] . $index[$ipdot[0] * 4 + 1] . $index[$ipdot[0] * 4 + 2] . $index[$ipdot[0] * 4 + 3]); for ($start = $start['len'] * 8 + 1024; $start < $length; $start += 8) { if ($index{$start} . $index{$start + 1} . $index{$start + 2} . $index{$start + 3} >= $ip) { $index_offset = @unpack('Vlen', $index{$start + 4} . $index{$start + 5} . $index{$start + 6} . "\x0"); $index_length = @unpack('Clen', $index{$start + 7}); break; } } @fseek($fp, $offset['len'] + $index_offset['len'] - 1024); if($index_length['len']) { return @fread($fp, $index_length['len']); } else { return 'Unknown'; } }
本文标签:
很赞哦! (0)
暂无内容 |
暂无内容 |
相关文章
暂无内容 |
暂无内容 |
随机图文
ecshop模板下载安装模板教程
模板安装很简单,主要分两种网站模板:1、无二次开发的 全新安装的;2、二次开发过的;ecshop商品标签的作用介绍
今天为大家详细解说一下ECSHOP商品标签添加设置。一、ECSHOP商品标签对于网店管理员来讲:二、对于用户来讲ecshop商品页配送方式添加仿淘宝按地区显示运费的方法
淘宝网(Taobao)购物的宝贝详情页面,可以针对不同地区显示不同运费,运费由后台设定;结算时间,按重量、件数计算运费。Ecshop本身有配送方式插件,已有多家物流公司插件,例如:顺丰快递、ecshop购买按钮显示商品库存无货状态修改方法
找到ecshop文件,打开所在的goods.dwt模板,搜索购物那个按钮(提示:图片另存就知道文件名),之后看到以下代码
留言与评论 (共有 0 条评论) |