这是一个PHP实现的查询手机号码归属地的小程序,限于篇幅原因仅列出少数号码查询。摘录在此仅为了说明如何操作文件。运行mobile_inq.php 查询。
1. mobile_inq.php
/*
+--------------------------------------------------------------------------
| 手机号码归属地查询
+--------------------------------------------------------------------------
*/
class Debug {
function startTimer() {
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
}
function endTimer() {
global $starttime;
$mtime = microtime ();
$mtime = explode (' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = round (($endtime - $starttime), 5);
return $totaltime;
}
}
function get_data1(){
// hand input
$m = trim($_POST['m']);
if(ereg('[0-9]{7,11}',$m)){
$m = substr($m,'0','7');
if(!$fp = @fopen('./Mobile.php','r')){
echo 'File err!';
exit();
}
flock($fp,LOCK_SH);
$note = fread($fp,filesize('./Mobile.php'));
fclose($fp);
$note = explode("/n",$note);
array_pop($note);
array_pop($note);
array_shift($note);
$num = count($note);
$_data = '';
for($i=0;$i<$num;$i++){
$row = explode(" ",$note[$i]);
if($m >= $row[0] && $m <= $row[1]){
$_data = $row;
break;
}
}
if($_data != ''){
foreach($row as $v){
if($v != ""){
$data1[] = $v;
}
}
return $data1;
}else{
return false;
}
}else{
echo '输入的手机号码错误!';
exit();
}
}
$Debug = new Debug;
$Debug->startTimer();
?>
if($_POST['a'] == 'search'){
$d = get_data1();
echo '-------------------------------------------
';
if(is_array($d)){
echo '查询号码为:'.$_POST['m'].'
';
echo ' 所属省份:'.$d['2'].'
';
echo ' 城市为:'.$d['3'].'
';
echo ' 区号为:'.$d['4'].'
';
echo '卡原始类型:'.$d['5'].'
';
}else{
echo '未知地区卡号! SORRY!
';
}
echo '-------------------------------------------
';
}
?>
查询">
手机号码:
echo '
程式运行时间为: ';
echo $Debug->endTimer();
?>
2.Mobile.php
# Maintain by Richard, last modified on 2003-03-07
1300000 1300000 北京 北京 010 北京联通130卡
1300001 1300001 江苏 常州 0519 江苏联通如意通卡
1300010 1300011 北京 北京 010 北京联通130卡
1300012 1300014 天津 天津 022 天津联通130卡
1300015 1300015 山东 淄博 0533 山东联通130卡
1300016 1300016 山东 烟台 0535 山东联通130卡
1300017 1300017 山东 济南 0531 山东联通130卡
1300018 1300019 天津 天津 022 天津联通130卡
1300020 1300024 上海 上海 021 上海联通130卡
1300025 1300026 江苏 南京 025 江苏联通130卡
1300027 1300027 山东 烟台 0535 山东联通130卡
1300028 1300032 江苏 南京 025 江苏联通130卡
1300033 1300039 江苏 无锡 0510 江苏联通130卡
1300045 1300049 北京 北京 010 北京联通130卡
1300050 1300059 广东 广州 020 广东联通130卡
1300065 1300065 山东 潍坊 0536 山东联通130卡
1300067 1300067 浙江 温州 0577 浙江联通如意通卡
1300068 1300068 广东 广州 020 广东联通130卡
1300071 1300071 湖北 武汉 027 湖北联通130卡
1300087 1300087 甘肃 兰州 0931 甘肃联通130卡
1300100 1300129 北京 北京 010 北京联通130卡
1300130 1300131 天津 天津 022 天津联通130卡
1300132 1300132 天津 天津 022 天津联通休闲卡
1300133 1300133 天津 天津 022 天津联通130卡
1300134 1300134 天津 天津 022 天津联通休闲卡
1300135 1300135 天津 天津 022 天津联通单向卡
1300136 1300136 天津 天津 022 天津联通自由卡
1300137 1300137 天津 天津 022 天津联通城市卡
1300138 1300139 天津 天津 022 天津联通130卡
1300140 1300140 河北 保定 0312 河北联通130卡
1300141 1300141 河北 唐山 0315 河北联通130卡
1300142 1300142 河北 秦皇岛 0335 河北联通130卡
1300143 1300143 河北 廊坊 0316 河北联通130卡
1300144 1300144 河北 沧州 0317 河北联通130卡
1300145 1300145 河北 邢台 0319 河北联通130卡
1300146 1300146 河北 邯郸 0310 河北联通130卡
1300147 1300147 河北 衡水 0318 河北联通130卡