PHP手机号归属地查询程序代码

 更新时间:2016年11月25日 16:22  点击:1269
本文章总结了两个常用的手机归属地查询程序,一种是利用api调用第三方接口实现,一种是利用我们自己的手机数据库查询然后再判断手机号归属地查询.

先来看一个调用第三方法网站的一个程序

主要使用curl实现,需要开启php对curl的支持.

如果你是windows系统在你的的php.ini文件的设置,找到php_curl.dll,并取消前面的分号注释就行了,如下所示:
//取消下在的注释

extension=php_curl.dll

如果您是在Linux下面,那么,您需要重新编译您的PHP了,编辑时,您需要打开编译参数,在configure命令上加上“–with-curl”参数。

然后重启apache

 代码如下 复制代码

<?php
header("Content-Type:text/html;charset=utf-8");
if (isset($_GET['number'])) {
$url = 'http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo';
$number = $_GET['number'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "mobileCode={$number}&userId=");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
$data = simplexml_load_string($data);
if (strpos($data, 'http://')) {
echo '手机号码格式错误!';
} else {
echo $data;
}
}
?>
<form action="mobile.php" method="get">
手机号码: <input type="text" name="number" /> <input type="submit" value="提交" />
</form>

实例二
这个实例利用了手机数据库,把文件保存在本地然后查找数据库再来差别,但是你得经常更新数据库才行哦。

 代码如下 复制代码

<html>
<head>
<title>手机号码归属地查询</title>
</head>
<style type="text/css">
 #main{
 height:100%;
 }
 #left {
 float:left;
 height:100%;
 width:10%;
 float:left;
 }
 #right{
 float:left;
 height:100%;
 width:100$;
 }
</style>
<body>
<?php
require ('function.php');
$pwd="xiaolin"; //密码,请修改
if (!isset($_GET["action"]) ){
header("Location:manage.php?action=login");

}
if ($_GET["action"]=="login"){

?>
<form action="manage.php?action=loginin" method="POST">
<p>请输入密码:</p>
<p><input type="password" value="" name="pwd"></p>
<p><input type="submit" value="登录"></p>
</form> 
<?php
}elseif ($_GET["action"]=="loginin"){
 $repwd=$_POST["pwd"];
 if ($repwd != $pwd){
 echo "Sorry,密码错误~!";
 }else {
 $_SESSION["flag"]=true;
 leftnav();
 }
 
}elseif ($_GET["action"]== "info" ){
 leftnav();
 getinfo();
?>
</div>
 </div> 
<?php
}elseif ($_GET["action"]=="edit"){
leftnav();
?>
<form action="manage.php?action=editp" method="POST">
<p>手机号码:<input type="text" name="num">(至少7位)</p>
<p>详细资料:<input type="text" name="info"></p>
<input type="submit" value="更新">
</form> 
 
<?php
 
}elseif ($_GET["action"]== "loginout"){
 if (isset($_SESSION["flag"])){
 unset($_SESSION["flag"]);
 session_destroy();
 }
 echo "<p><a>登出</a></p><p><a href='manage.php'>返回</a></p>";


}elseif ($_GET["action"]=="editp"){
 leftnav();
 $num=$_POST["num"];
 $info=$_POST['info'];
 if (!empty($num) && !empty($info) && strlen($num)>=7 ){
 update($num,$info);
 }else{
 die ("不得为空!");
 }
}elseif ("about"==$_GET["action"]){
 leftnav();
 showabout();
 }
?>
</body>
</html>

index.php

<html>
<head>
<title>手机号码归属地查询</title>
</head>
<body>
<form action="index.php?action=search" method="POST">
<p>请输入你要查询的手机号码:<input type="text" name="phone"></p>
<p><input type="submit" value="查询手机号码归属地"></p></p>
</form>
<?php
if (isset($_GET["action"])){
if ("search"==$_GET["action"] ){
require ('function.php');
$phone=(isset($_POST["phone"]))?$_POST["phone"]:die ("请返回");
echo "你查询的手机号码<font color=red>".$phone."</font>属于<font color=red>".getphone($phone)."</font>";

}
?>
</body>
</html>

function.php函数

<?php

session_start();
   
function update($num,$info){
 $dbpath="xiaolin/";
 $len=strlen($num);
 if ( $len < 7 ){
 return "手机号码最低7位哦";
 }
 $par="[0-9]";
 for ($i=0;$i<$len;$i++){
  if(!ereg($par,substr($num,$i,1) ) ){
  return "手机号码只能为数字";
  }
 }
 $sunum=scandir($dbpath); //得到支持的手机号码前缀
  array_splice($sunum,0,1); //把当前目录取消
  array_splice($sunum,0,1); //把上一级目录去掉
 $sub=substr($num,0,3); //取得该号码的前三位
 if (in_array($sub,$sunum) ){
   $num1=ltrim(substr($num,3,4),"0");
  $search=file($dbpath.$sub);
  $tmp=$search[$num1];
  $search[$num1]=$num1.'='.$info."n";
  $fp1=fopen($dbpath.$sub.'1','wb+');
for ($i=0;$i<10000;$i++){
 //$phone=str_pad($i,4,"0",STR_PAD_LEFT);
 //$phoneinfo="";
 //$phoneinfo.=$phone."=";
 //$phoneinfo=(isset($search[$i]))?$search[$i]:"";
 //$phoneinfo.="n";
 fwrite($fp1,$search[$i]);
}
fclose($fp1);
 echo "$num 已更新";
 }else{
 die ("暂不支持$sub");
 }
 }
function getphone($phone){
 $dbpath="xiaolin/";
 $len=strlen($phone);
 if ( $len < 7 ){
 return "手机号码最低7位哦";
 }
 $par="[0-9]";
 for ($i=0;$i<$len;$i++){
  if(!ereg($par,substr($phone,$i,1) ) ){
  return "手机号码只能为数字";
  }
 }
 $sunum=scandir($dbpath); //得到支持的手机号码前缀
  array_splice($sunum,0,1); //把当前目录取消
  array_splice($sunum,0,1); //把上一级目录去掉
 $sub=substr($phone,0,3); //取得该号码的前三位
 if (in_array($sub,$sunum) ){
   $num=ltrim(substr($phone,3,4),"0");
  $search=file($dbpath.$sub);
  $tmp=$search[$num];
  $result=substr($tmp,strpos($tmp,"=")+1,strlen($tmp)-strpos($tmp,"=")-2); //处理数据
  return (strlen($result)>1)?$result:"无数据";
 }else{
 return "暂不支持$sub";
 }
}

function check(){
 if (!isset($_SESSION["flag"]) ){
 die ("<p>请<a href='manage.php?action=login'>登录!</a></p>"); 
 }elseif ($_SESSION["flag"] != true){
 die ("<p>请<a href='manage.php?action=login'>登录!</a></p>"); 
 }
}

function getinfo(){
check();
 $nums=array("130","131","132","133","134","135","136","137","138","139","150","151","153","155","156","157","158","159");
 $counts="";
 for($j=0;$j<count($nums);$j++){
  $id=$j;
  if ($id >= count($nums) ){ die ("OVER"); }
   $nownum=$nums[$id]; //当前的号码段
  $dbpath="xiaolin/";
  $fp=fopen("xiaolin/$nownum",'r');
  while(!feof($fp)){
   $line=fgets($fp);
   $tmp=explode("=",$line);
   $num1[$tmp[0]]=substr($line,strpos($line,"=")+1,strlen($line)-strpos($line,"=")-2);
  }
  fclose($fp);
 $flag=0;
  for($i=0;$i<10000;$i++){
   $ser=str_pad($i,4,"0",STR_PAD_LEFT);
   if(!strlen($num1[$ser]) ==0 ){
   ++$flag;
  }
 }
 $counts+=$flag;
  echo "$nownum:段记录$flag</p>";
}
 echo "总计$counts";}
 function leftnav(){
  check();
?>
<div>

<div id="right">

<?php
}
function showabout(){
 echo "<p>手机号码归属地查询</p>
";
 }
?>

文件缓存就是指把缓存生成一个文件,这个文件可以是php,txt等等文件,当我下载访问时就来判断访问上次生成时间,如果超过了我们指定的时间再重新生成一次,否则就直接调用缓存文件,这样就可以减少了对mysql数据库的查询了。

文件缓存原理

1.把需要缓存的数据通过serialize函数序列化后直接保存到文件。在需要使用缓存数据的时候,通过反序列化读入文件内容并复制给需要的变量,然后使用。不经常改动的数据可以写入缓存文件。


文件缓存实例

index.php

 代码如下 复制代码

define('CACHE_ROOT','./');
 include_once('./cache.func.php');
 $file = 'qzp';
 $cacheFile = getCacheFileByID($file,'info/');
 
 print_R(readCache($cacheFile));
 
 $info = array(
      'username'=>'qzp',
      'area_name'=>'admin',
      'mp_name'=>'1234',
      'gh_name'=>'5678');
writeCache($cacheFile,$info);

cache.func.php文件

 function arrayeval($array, $level = 0) {
    $space = '';
    for($i = 0; $i <= $level; $i++) {
        $space .= "t";
    }
    $evaluate = "Arrayn$space(n";
    $comma = $space;
    foreach($array as $key => $val) {
        $key = is_string($key) ? '''.addcslashes($key, ''\').''' : $key;
        $val = !is_array($val) && (!preg_match("/^-?[1-9]d*$/", $val) || strlen($val) > 12) ? '''.addcslashes($val, ''\').''' : $val;
        if(is_array($val)) {
            $evaluate .= "$comma$key => ".arrayeval($val, $level + 1);
        } else {
            $evaluate .= "$comma$key => $val";
        }
        $comma = ",n$space";
    }
    $evaluate .= "n$space)";
    return $evaluate;
}
 
function getCacheFileByID($id,$pre='info/',$md5=true){
 if($md5){
  $md5id = md5($id);
  return CACHE_ROOT.'/'.$pre.substr($md5id,0,2).'/'.substr($md5id,2,2).'/'.$id;
 }else{
  return CACHE_ROOT.'/'.$pre.$id;
 }
}
 
function readCache($filename,$time=0){
 if($datas = @file_get_contents($filename)){
  $datas = unserialize($datas);
  if($time < 1 || (time() - $datas['time'] < $time)){
   return $datas['data'];
  }
 }
 return false;
}
 
function writeCache($filename,$data){
 makeDir(dirname($filename));
 if($handle = fopen($filename,'w+')){
  $datas = array('data'=>$data,'time'=>time());
  flock($handle,LOCK_EX);
  $rs = fputs($handle,serialize($datas));
  flock($handle,LOCK_UN);
  fclose($handle);
  if($rs!==false){
   return true;
  }
 }
 return false;
}
 
function makeDir($path)
{
 if (! file_exists ( $path )) {
  makeDir ( dirname ( $path ) );
  if (! mkdir ( $path, 0777 ))
  die ( '无法创建文件夹' . $path );
 }
}

把要缓存的文件序列化下存放起来,当使用的时候反序列化回来使用。

使用对PHP模板数据进行缓存的工具smarty。smarty将HTML文件缓存成一个静态的HTML页,需要缓存的模板文件可以使用smarty。
例:

 代码如下 复制代码

<?php
//包含Smarty类库
require('libs/Smarty.class.php');
 
//创建Smarty类的对象
$smarty = new Smarty;
 
//启用缓存
$smarty->caching = true;
 
//指定缓存文件保存的目录
$smarty->cache_dir = "./cache/";
 
//也会把输出保存
$smarty->display('index.tpl')
?>

搞了半天终于把CKEditor搞了个明明白白,配合ckfinder实现了图片的上传,具体步骤给需要的同志们。 1、建立项目ckeditor,将ckeditor和ckfinder解压缩放到项目下

两个东东的下载地址分别为:

ckeditor:  http://ckeditor.com/download/

ckfinder:  http://ckfinder.com/download

项目目录结构为:

  ckeditor

      ---ckeditor

      --ckfinder

      --test.php 用来测试的PHP文件

2、找到ckfinder目录下的config.php文件打开

  1)定位到CheckAuthentication方法,默认此方法只有返回值false,这样是不允许上传文件到服务器的,需要将其进行修改,函数内已经用英文注明,不建议直接改为false,因为那样会不安全,什么都会上传了,所以用session来处理一下,就成了下面的样子

 代码如下 复制代码

session_start();

function CheckAuthentication()

    if(isset($_SESSION['UseEditor']))//这个随便命名就可以了

    return true;

    else

    return false;

}

2) 配置上传文件位置,

默认ckfinder会把上传文件放到根目录下的ckfinder/userfiles/images文件夹下,我们可以修改成自己的项目目录下,在项目下建立upfiles文件夹,在config.php中找到baseUrl并且修改为:

 代码如下 复制代码

$baseUrl = '/ckeditor/upfiles/';

 这样上传文件会保存到upfiles下的images文件夹。当然,你也可以根据需要设置不同的上传文件夹,至于怎么传值给他以判断上传文件夹,当然是通过session了。

3、修改上传文件名,默认系统以原有名字命名,所以我们重新命名文件。方法为:打开ckfindercoreconnectorphpphp5CommandHandler下FileUpload.php文件

     找到    $sUnsafeFileName  后面加上重命名代码,如下:

 代码如下 复制代码

$sUnsafeFileName = CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding(CKFinder_Connector_Utils_Misc::mbBasename($uploadedFile['name']));

//先获取原文件后缀

$sExtension=CKFinder_Connector_Utils_FileSystem::getExtension($sUnsafeFileName);

//重新命名文件

$sUnsafeFileName=date('YmdHis').'.'.$sExtension;

 

4、最后在test.php中使用ckfinder,代码如下:

 代码如下 复制代码

session_start();

$_SESSION[‘UseEditor’]=’ok’;//一定别忘记这个哦,否则没法上传

include_once('ckeditor/ckeditor.php');

   include_once('ckfinder/ckfinder.php');

   $fc = new CKEditor();

   CKFinder::SetupCKEditor($fc,'./ckfinder/');

$fc->editor("content", "<p>Initial value.</p>");

swfupload是一个用来文件上传的组件,对于大文件我们觉得是很不错的,下面我来介绍swfupload配置与使用方法吧。

swfupload对于大文件上传等比较好用,下面以classic form demo为例,简单说明下用法

下载地址:http://code.google.com/p/swfupload/downloads/list

其中 SWFUpload_v250_beta_3_samples.zip 为实例代码,解压后重命名为swfupload,保存到本地主文件夹(nginx+php环境)下,便可以通过

http://localhost/swfupload/demos/ 访问

其中两个文件夹,demos 为客户端的实例,samples 提供了各语言的文件保存代码。

切换到 http://localhost/swfupload/demos/formsdemo/ 即普通表单模式

在/demos/formsdemo/下新建文件夹 uploads

将 /smaples/php/upload.php 中的代码拷贝到 /demos/formsdemo/upload.php 开头,即

 // The Demos don't save files

这个注释下面。

修改其中的

 代码如下 复制代码

view sourceprint?$upload_name = "filedata";

为:

view sourceprint?$upload_name = "resume_file";

 (与/demos/formsdemo/index.php中的表单元素名称一致)

此时,可以使用表单正常上传文件,上传的文件保存在/demos/formsdemo/uploads/目录下

数据库处理部分,应修改下面的代码:

 

 代码如下 复制代码

if (isset($_FILES["resume_file"]) && is_uploaded_file($_FILES["resume_file"]["tmp_name"]) && $_FILES["resume_file"]["error"] == 0) { 

    echo rand(1000000, 9999999);    // Create a pretend file id, this might have come from a database. 

}

这段代码是原来demo中的upload,其作用时返回一个已经上传的文件的id并赋给表单的hidFileID标签(注意到,这个标签是一个hidden元素)

原demo是随机产生的一个数,在这要修改为数据库插入操作得到的一个数据库表的id值。即下面的做法:

去掉对$_FILES的if判断(这在上面的move_uploaded_file之后is_uploaded_file判断为false);进行数据库插入操作;直接echo得到的id(数字型)。

对于大文件上传,需要首先修改表单部分的,即

 代码如下 复制代码

/demos/formsdemo/index.php中

view sourceprint?file_size_limit : "100 MB",

修改为期待的尺寸(最大2G)

修改nginx.conf,/etc/init.d/nginx reload,若不添加下面的设置,则nginx会出现413 Request Entity Too Large错误

 代码如下 复制代码

view sourceprint?http { 

... 

client_max_body_size 128M 

... 

}

同时需要修改服务器配置 php.ini, /etc/init.d/php-cgi reload

 代码如下 复制代码

view sourceprint?upload_max_filesize 100M 

post_max_size 100M 

memory_limit 128M

注意到swfupload并不要求修改max_execution_time和max_input_time的配置。

本文章总结了php定时执行PHP脚本一些方法总结,有,linux中,windows,php本身的方法,有需要的朋友可参考参考。

linux下定时执行php脚本


执行PHP脚本

方法1
如果你想定时执行某一个PHP脚本 可以直接这样写:
*/1 * * * * root -q /bin/local/php /path/to/your/php/script.php (每一分钟执行一次script.php)
注意,这样写需要把PHP变成可执行的脚本文件。在命令行下,脚本所在目录
chmod +x script.php

crontab+php-cgi 定时执行PHP脚本

1. 在web根目录创建请求的脚本index.php

    我的文件路径(根据安装路径不同有不同路径):/usr/local/webserver/htdosc/index.php

2. 创建crontab文件

     2.1   crontab -e

     2.2  * * * * * /usr/local/webserver/php/bin/php-cgi -q /usr/local/webserver/htdosc/index.php

      #编辑crond计划,每分钟请求index.php

完成,以上步骤完成后,在我的电脑中能正常每分钟请求index.php


注意事项:

 一. /usr/local/webserver/php/  是我的php安装路径

二. php-cgi 是php解析器(我的理解是这样,总感觉我理解的不对,希望大虾们指正),有些资料是用./bin/php,我电脑上就不能,所以用php-cgi,可能安装的方式不对吧。

三. -q 是安静模式(某些资料中看到的)运行php脚本

四. 有些资料是 把在index.php的首行添加#!  /usr/local/webserver/php/bin/php -q ,并对index.php添加执行权限。我没有这样做,也能正常请求index.php


最后介绍一个PHP定时执行任务的实现

用到的函数  ignore_user_abort(),set_time_limit(0),sleep($interval)
此代码只要运行一次后关闭浏览器即可。

 代码如下 复制代码

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
 //这里是你要执行的代码 
 sleep($interval);// 等待5分钟
}while(true);

[!--infotagslink--]

相关文章

  • 安卓手机app添加支付宝支付开发教程

    支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
  • PHP+Ajax手机发红包的程序例子

    PHP+Ajax有许多的功能都会用到它小编今天就有使用PHP+Ajax实现的一个微信登录功能了,下面我们来看一个PHP+Ajax手机发红包的程序例子,具体如下所示。 PHP发红包基本...2016-11-25
  • Mybatis Plus select 实现只查询部分字段

    这篇文章主要介绍了Mybatis Plus select 实现只查询部分字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-01
  • 华为手机怎么恢复已卸载的应用?华为手机恢复应用教程

    华为手机怎么恢复已卸载的应用?有时候我们在使用华为手机的时候,想知道卸载的应用怎么恢复,这篇文章主要介绍了华为手机恢复应用教程,需要的朋友可以参考下...2020-06-29
  • 破解安卓手机上的九宫格锁方法步骤

    很多用安卓智能手机的朋友是用九宫格锁屏,网上也有暴力删除手机图形锁的方法,不过我们可以用程序来破解。本文只提供技术学习,不能干坏事 安卓手机的图形锁(九宫格)...2016-09-20
  • 华为手机怎么开启双时钟? 华为添加双时钟的技巧

    华为手机怎么开启双时钟?华为手机是可以设置双时钟的,如果来回在两个有时差的地方工作,是可以设置双时钟显示,下面我们就来看看华为添加双时钟的技巧,需要的朋友可以参考下...2020-12-08
  • MyBatisPlus-QueryWrapper多条件查询及修改方式

    这篇文章主要介绍了MyBatisPlus-QueryWrapper多条件查询及修改方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2022-06-27
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • Oracle使用like查询时对下划线的处理方法

    这篇文章主要介绍了Oracle使用like查询时对下划线的处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-16
  • 怎么查询自己的联通手机号码是否已经实名认证(实名制)?

    怎么查询自己的联通手机号码是否已经实名认证?现在手机一批一批的开始实名制了,自己的手机号买的时候没有实名认证,怎么才能知道自己的手机是否被知名认证了呢?认证以后就不能充话费打电话了,下面我们们一起来看看两种查看方法...2016-07-04
  • 解决mybatis-plus 查询耗时慢的问题

    这篇文章主要介绍了解决mybatis-plus 查询耗时慢的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-04
  • MySQL中在查询结果集中得到记录行号的方法

    如果需要在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号, ISO SQL:2003 标准提出的方法是提供 ROW_NUMBER() / RANK() 函数。 Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的 ROWNUM ; MS SQL...2015-03-15
  • Node实现搜索框进行模糊查询

    这篇文章主要为大家详细介绍了Node实现搜索框进行模糊查询,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-06-28
  • Mybatis用注解写in查询的实现

    这篇文章主要介绍了Mybatis用注解写in查询的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-13
  • PHP+Mysql+jQuery查询和列表框选择操作实例讲解

    本文讲解如何通过ajax查询mysql数据,并将返回的数据显示在待选列表中,再通过选择最终将选项加入到已选区,可以用在许多后台管理系统中。本文列表框的操作依赖jquery插件。HTML <form id="sel_form" action="post.php" me...2015-10-23
  • Element-ui 自带的两种远程搜索(模糊查询)用法讲解

    这篇文章主要介绍了Element-ui 自带的两种远程搜索(模糊查询)用法讲解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-29
  • Mybatis和Mybatis-Plus时间范围查询方式

    这篇文章主要介绍了Mybatis和Mybatis-Plus时间范围查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-06
  • 华为手机蓝牙可以连接几个设备?华为设置蓝牙音频连接个数的技巧

    华为手机蓝牙可以连接几个设备? 华为手机使用蓝牙的时候,想要知道能连接几个设备,这都是可以设置呢?下面我们就来看看华为设置蓝牙音频连接个数的技巧,需要的朋友可以参考下...2020-12-08
  • mysql like查询字符串示例语句

    MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式 一、SQL模式SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL...2013-10-04
  • 小米手机负一屏该怎么设置? 如何使用小米手机负一屏

    小米手机负一屏该怎么设置?小米手机最近推出了负一屏的功能,集成了很多信息,可以放一些需要知道的信息,下面我们就来看看详细的教程,需要的朋友可以参考下。 最新的开...2016-12-15