您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程
ecshop商城IP库版本升级补丁
傅利2024-04-20 18:16:52ecshop商城教程已有人查阅
导读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'; } }
本文标签:
很赞哦! ()
相关文章
- ecshop商城首页增加一个商品浏览排行榜的实现方法
- ecshop商城怎么增加新独立页面
- ecshop商城安全优化ecshop防注入屏蔽SQL提示实例
- ecshop商城让所有页面都显示新文章提高SEO优化的实现方法
- ecshop商城SEO优化,ecshop预防死链站内页面301跳转写法
- ecshop商城后台订单选择加入商品时提示库存不足的修改方法
- ecshop商城商品搜索结果页显示商品货号的方法
- ecshop商城任意页面添加调用显示文章代码实例
- ecshop商城调用指定分类新品商品/热门商品/推荐商品可设置商品数量
- ecshop商城首页显示积分商品调用积分商品的代码示例
- ecshop商城数据备份搬家恢复数据步骤教程
- ecshop商城杂志管理设置说明介绍
随机图文
-
ecshop会员登陆后可见价格,ecshop会员登陆后显示价格实例
代码号之ecshop会员登陆后可见价格会员注册会员登陆才能显示价格修改教程。ecshop会员登陆后才可以看到商品价格,商城所有商品价格默认显示文字(登陆可见) -
隐藏或删除ecshop留言板里的日期和时间的方法
这个修改起来比较简单,但是不同模板,修改办法可能会稍微不同以官方默认模板为例,用EDITPLUS 或 dreamweaver 等编辑软件打开 Ecshop 模板目录 -
ecshop模板美化如何去除文章列表页和详情页的发布时间
下面修改方法是以官方默认模板为例1、首先修改文章列表页,打开 article_cat.dwt 文件, -
ecshop商品详细页显示折扣率或节省金额的方法
在商品详情页面增加一个“本店价”相对于“市场价”的折扣比率或者是节省的钱数,岂不是一个很酷的效果,而且让用户看着更明白,对购买者更有吸引力。
留言与评论 (共有 条评论) |