如何將IP地址轉(zhuǎn)換為純真IP數(shù)據(jù)庫(kù),織夢(mèng)文章
導(dǎo)讀:織夢(mèng)文章織夢(mèng)文章大家知道織夢(mèng)CMS的后臺(tái)可以查詢發(fā)布文章和評(píng)論的IP地址,系統(tǒng)默認(rèn)的IP地址庫(kù)卻不是現(xiàn)在最流行純真IP數(shù)據(jù)庫(kù),那么如何將織夢(mèng)系統(tǒng)的IP地址轉(zhuǎn)換為純真IP數(shù)據(jù)庫(kù)的dede網(wǎng)站模板織夢(mèng)模板。
大家知道織夢(mèng)CMS的后臺(tái)可以查詢發(fā)布文章和評(píng)論的IP地址,系統(tǒng)默認(rèn)的IP地址庫(kù)卻不是現(xiàn)在最流行純真IP數(shù)據(jù)庫(kù),那么如何將織夢(mèng)系統(tǒng)的IP地址轉(zhuǎn)換為純真IP數(shù)據(jù)庫(kù)的函數(shù)呢?在網(wǎng)上搜索一下,還真的找到實(shí)現(xiàn)的方法。
來(lái)看看實(shí)現(xiàn)的方法吧。
1)函數(shù)編寫 本來(lái)是以前的版本,我是通過(guò)JS方式來(lái)調(diào)用的,但這種方式在有些頁(yè)面可能會(huì)不兼容。后來(lái)就升級(jí)了函數(shù)方式,但一直沒(méi)更新。好了,我們來(lái)看看具體的函數(shù)編寫方法: 在/include/extend.func.php 文件中的?>的上面加入以下函數(shù)代碼:
function convertip($ip){
$dat_path = DEDEDATA.'/ip/QQWry.dat';
if(!ereg("^([0-9]{1,3}.){3}[0-9]{1,3}$", $ip)){
return 'IP格式錯(cuò)誤';
}
if(!$fd = @fopen($dat_path, 'rb')){
return '無(wú)法打開IP數(shù)據(jù)庫(kù)';
}
$ip = explode('.', $ip);
$ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];
$DataBegin = fread($fd, 4);
$DataEnd = fread($fd, 4);
$ipbegin = implode('', unpack('L', $DataBegin));
if($ipbegin < 0) $ipbegin += pow(2, 32);
$ipend = implode('', unpack('L', $DataEnd));
if($ipend < 0) $ipend += pow(2, 32);
$ipAllNum = ($ipend - $ipbegin) / 7 + 1;
$BeginNum = 0;
$EndNum = $ipAllNum;
while($ip1num>$ipNum || $ip2num<$ipNum) {
$Middle= intval(($EndNum + $BeginNum) / 2);
fseek($fd, $ipbegin + 7 * $Middle);
$ipData1 = fread($fd, 4);
if(strlen($ipData1) < 4) {
fclose($fd);
return 'System Error';
}
$ip1num = implode('', unpack('L', $ipData1));
if($ip1num < 0) $ip1num += pow(2, 32);
if($ip1num > $ipNum) {
$EndNum = $Middle;
continue;
}
$DataSeek = fread($fd, 3);
if(strlen($DataSeek) < 3) {
fclose($fd);
return 'System Error';
}
$DataSeek = implode('', unpack('L', $DataSeek.chr(0)));
fseek($fd, $DataSeek);
$ipData2 = fread($fd, 4);
if(strlen($ipData2) < 4) {
fclose($fd);
return 'System Error';
}
$ip2num = implode('', unpack('L', $ipData2));
if($ip2num < 0) $ip2num += pow(2, 32);
if($ip2num < $ipNum) {
if($Middle == $BeginNum) {
fclose($fd);
return 'Unknown';
}
$BeginNum = $Middle;
}
}
$ipFlag = fread($fd, 1);
if($ipFlag == chr(1)) {
$ipSeek = fread($fd, 3);
關(guān)鍵詞標(biāo)簽: IP 如何將 轉(zhuǎn)換為
聲明: 本文由我的SEOUC技術(shù)文章主頁(yè)發(fā)布于:2023-07-21 ,文章如何將IP地址轉(zhuǎn)換為純真IP數(shù)據(jù)庫(kù),織夢(mèng)文章主要講述轉(zhuǎn)換為,如何將,IP網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_32476.html
為你推薦與如何將IP地址轉(zhuǎn)換為純真IP數(shù)據(jù)庫(kù),織夢(mèng)文章相關(guān)的文章
-
dedecms首頁(yè)中文章列表無(wú)刷新頂、踩的實(shí)現(xiàn)
(120)人喜歡 2023-07-21 -
織夢(mèng)網(wǎng)站地圖Sitemap+百度Ping推送功能實(shí)現(xiàn)
(160)人喜歡 2023-07-21 -
DeDecms后臺(tái)設(shè)置及網(wǎng)站地圖seo優(yōu)化,織夢(mèng)技
(50)人喜歡 2023-07-21 -
DedeCMS模板制作自定義表單時(shí)添加驗(yàn)證碼的
(166)人喜歡 2023-07-21 -
織夢(mèng)標(biāo)簽:sonchannel 子欄目調(diào)用,織夢(mèng)教程
(103)人喜歡 2023-07-21 -
在織夢(mèng)cms中使用繁體轉(zhuǎn)簡(jiǎn)體的函數(shù)BIG5To
(186)人喜歡 2023-07-21

目錄導(dǎo)航
熱門搜索標(biāo)簽 TAG全部標(biāo)簽
-
首頁(yè)
文章列表
DEDE技術(shù)
織夢(mèng)
標(biāo)簽
夢(mèng)網(wǎng)
后臺(tái)
驗(yàn)證碼
自定義
CMS
欄目
繁體
函數(shù)
標(biāo)題
類目
字段
站內(nèi)
幾種方法
下載頻道
下載地址
友情鏈接
上級(jí)
相關(guān)文章
dedecms
第一個(gè)
不能下載
正式發(fā)布
解決方法
分頁(yè)
模板
上傳圖片
歷史記錄
不支持
上傳文件
里面
縮略圖
批量
鏈接
如何解決
圖標(biāo)
如何做好
重定向
總數(shù)
搜索結(jié)果
搜索
長(zhǎng)度
鼠標(biāo)
來(lái)實(shí)現(xiàn)
制作網(wǎng)站
轉(zhuǎn)換工具
最新熱門源碼技術(shù)文章
-
織夢(mèng)標(biāo)簽:sonchannel 子欄目調(diào)用,織
織夢(mèng)教程(=DedeCMS 3,DedeCMS 4,DedeCMS 5) 名稱: sonchannel 功能: -
在織夢(mèng)cms中使用繁體轉(zhuǎn)簡(jiǎn)體的函數(shù)
織夢(mèng)技術(shù)在采集數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)如果采集對(duì)象中存在繁體字,