利用ip地址查询区域 php程序
该程序没有优化 只是最原始的程序 可以将其与flash结合起来!
与flash结合起来就是将php得到的地址和区域 打印出来再返回个flash端这么简单
<?php
$getIP="218.11.140.23"; // 这里是自己随便写的一个ip 实际时你还要通过程序得到这个ip
//只开始时查前三段
$subIPs=explode(".",$getIP);
$subIP=$subIPs[0].$subIPs[1].$subIPs[2];
$lastIP=$subIPs[3];
$url="http://localhost/zendphp/IPQuery/ip.txt";//我的ip数据库文件 我用的是txt格式
if(file_exists($url)){
die("未找到文件");
return;
}
$rows=file($url);
//行数
$len=count($rows);
$p=0;
$collection=array();
foreach ($rows as $line){
$ipData=preg_split ('/[\s]+/',$line);//注意这里的空白匹配
$startIP=$ipData[0];
//$endIP=$ipData[1];
$ipSerials=explode(".",$startIP);
//目标ip
$ip=$ipSerials[0].$ipSerials[1].$ipSerials[2];
$last=$ipSerials[3];
//ip信息
$areaInfo=$ipData[2].$ipData[3];
//这里可以用二分查找,为了简便就直接查吧
if($subIP==$ip){
$p++;
if($p>1){
if($lastIP==$last){
echo "你的ip地址是".$getIP."<br/> 您所在的地方是".$areaInfo;
}
}else{
echo "你的ip地址是".$getIP."<br/> 您所在的地方是".$areaInfo;
}
}
}
?>
相关文档:
PHP的算法都有哪些呢?
我还记得上大学那会学数据结构时,了解了:顺序法、冒泡法、二分法以及对线性表以及数据入栈、出栈的操作。
PHP中的顺序法就是对数组元素的逐一比较而得到的。
例如:
<?php
function order($php,$k)
{
$n = count($php); //计算数组个数
$php ......
手册的官方地址: http://us3.php.net/manual/en/book.tokyo-tyrant.php
具体内容如下:
TCT支持的追加参数:
mode:
bnum: 桶数组元素个数,如果不大于0,使用默认值, 默认值是131071, 建议值是所有存储的记录条数的0.5-4倍.
apow: 和一个key关联的记录数,如果是负值, 使用默认值, 默认值为4, 意为2的4次方.
fpow: FreeBl ......
使用java中的动态代理可以完成很多事情,比如将业务实例进行托管,实现AOP等,但是Php中没有实现这样的东西,昨天突然想到其实可以通过eval来模拟一个动态代理机制。php比java不同的是,php是不需要编译的,因此只要我们能够动态生成一段代码,然后用eval来执行就可以达到效果。代码如下:
/**
* 代理实现类
*/
inter ......
一、session概述
session是什么,刚开始我也不明白,非专业词典翻译为会议,会议期。直到接触asp后才知道session是干什么的,有什么用。作个不太恰当的比喻吧(虽然不恰当,但意义却是一样的),session就好象你和你女友(或妻子)之间的感情似的,session是你和网站之间的感情。
se ......