手机归属地函数

function get_mobile_area($phone){
  $sms = array('province'=>'', 'supplier'=>''); //初始化变量
  //根据淘宝的数据库调用返回值
  $url = "http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=".$phone."&t=".time();
  $content = file_get_contents($url);
  $sms['province'] = substr($content, "56", "4"); //截取字符串
  $sms['supplier'] = substr($content, "81", "4");
  $att= $sms['province'].$sms['supplier'];
  return $att;

}

//转化成utf-8格式
function charsetToUTF8($content)
{
if (is_array($content)) {
foreach ($content as $k => $v) {
if (is_array($v)) {
$content[$k] = charsetToUTF8($v);
} else {
$encode = mb_detect_encoding($v, array('ASCII', 'UTF-8', 'GB2312', 'GBK', 'BIG5'));
if ($encode == 'EUC-CN') {
$content[$k] = iconv('GBK', 'UTF-8', $v);
}
}
}
} else {
$encode = mb_detect_encoding($content, array('ASCII', 'UTF-8', 'GB2312', 'GBK', 'BIG5'));
if ($encode == 'EUC-CN') {
$content = iconv('GBK', 'UTF-8', $content);
}
}
return $content;
}

//将数组转成对象

function array2object($array) {
if (is_array($array)) {
$obj = new StdClass();
foreach ($array as $key => $val){
$obj->$key = $val;
}
}
else { $obj = $array; }
return $obj;
}

//将对象转化成数组

function object2array($object) {
if (is_object($object)) {
foreach ($object as $key => $value) {
$array[$key] = $value;
}
}
else {
$array = $object;
}
return $array;
}

/**
* 加载函数库
*/
function load_function($function){
$filename = FUNCTION_DIR.$function.'.function.php';
if(file_exists($filename)){
require($filename);
}else {
pr($filename.'is not exist',1);
}
}

//字符串加转意
function add_slashes($string){
if(!GLOBALS['magic_quotes_gpc']){
if(is_array($string)){
foreach($string){
$string[$key] = add_slashes($val);
}
}else {
$string = addslashes($string);
}
}
return $string;
}

/**
*二维数组按照制定的数组进行排序
*/

function array_sort($arr,$keys,$type = 'asc'){
$keysvalue = $new_array = array();
foreach($arr as $k =>$v){
$keysvalue[$k]= $v[$keys];
}
if($type == 'asc'){
asort($keysvalue);
}else{
arsort($keysvalue);
}
reset($keysvalue);
foreach($keysvalue as $k=>$v){
$new_array[$k] = $arr[$k];
}
return $new_array;
}

/**
*得到服务器短的信息
*/

function getServerInfo($link = null){
return mysql_get_server_info($link);
}

//得到主机的信息

function getHostInfo($link = mull){
return mysql_get_host_info(info);
}

//得到协议信息
function getProtoInfo($link = null){
return mysql_get_proto_info($link);
}

//数组和字符串的互相转化

$array=explode(separator,$string);

$string=implode(glue,$array);

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

//封装函数干掉字符串两端的空格
public function trimall($str)
{
$qian=array(" "," ","\t","\n","\r");
$hou=array("","","","","");
return str_replace($qian,$hou,$str);
}

//封装搜索函数
public function doSousuo($k,$table,$file)
{
$total = db($table)->where($file,'like',$k)->select();
$t = count($total);
$this->assign('t',$t);
return $total;
}

//用户搜索功能

public function yhcx()
{

$key = $this->trimall(input('post.'));
$keys = $key['keys'];
if(!$keys){
$this->error('关键字不能为空','/admin/index/xmcx');
die;
}
$k = "%$keys%";
$table = 'user';
$file = 'name|realName';
$total =$this->doSousuo($k,$table,$file);
if(!$total){
$this->error('数据库中没有相关数据,你可查询百度。','/admin/index/xmcx');
die;
}
$this->assign('total',$total);
return $this->fetch();

}

  

php 自己封装的一些函数的更多相关文章

  1. JS_ECMA基本语法中的几种封装的小函数-2

    大家好!今天继续给大家写一下ECMA中的剩下的小函数以及实用的实例: 首先先给大家说一下字符串.数组.数学方法以及json的一点小知识点: 字符串方法: str.length str.charAt(i ...

  2. JS_ECMA基本语法中的几种封装的小函数-1

    今天给大家介绍js ECMA中几个封装的小函数以及一些常用的函数小案例: 1,找重复的函数 <script> //在数组里面找重复: function findInArr(n,arr){ ...

  3. JS_ECMA基本语法中的几种封装的小函数

      先来回顾一下我们的字符串: 字符串方法: str.length str.charAt(i):取字符串中的某一个; str.indexOf('e');找第一个出现的位置;找不到返回-1; str.l ...

  4. AJAX编程-封装ajax工具函数

    即 Asynchronous [e'sɪŋkrənəs] Javascript And XML,AJAX 不是一门的新的语言,而是对现有技术的综合利用.本质是在HTTP协议的基础上以异步的方式与服务器 ...

  5. JS封装cookie操作函数实例(设置、读取、删除)

    本文实例讲述了JS封装cookie操作函数.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...

  6. js原生:封装document.getElementByClassName()函数

    //接口封装:封装document.getElementByClassName()函数function getElementsByClassName (cName,domTag,root) {//该函 ...

  7. ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及abp封装的Javascript函数库

    经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 模型和DTO已经建好,所以我们直接在服务 ...

  8. Thinkphp3.2.3框架下封装公共的函数,例如封装CURL函数来获取接口数据

    当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简: TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调 ...

  9. main.js中封装全局登录函数

    1. 在 main.js 中封装全局登录函数 通过 vue 对象的原型扩展,可以扩展一个函数,这样这个函数就可以在每一个界面通过类似指向对象的方式,去访问这个函数. 如下是 main.js 扩展的函数 ...

  10. ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及几种abp封装的Javascript函数库

    返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期         简介 经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这 ...

随机推荐

  1. JDBC之组件封装

    本文所需架包:mysql-connector-java-5.1.7-bin.jar(连接MySQL数据库需要),ojdbc6.jar(连接Oracle数据库需要) 1.JDBC工具类(JDBCUtil ...

  2. (转)Collections类方法详解

    Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序.搜索以及线程安全等各种操作. 1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对 ...

  3. ctf中常见注入题源码及脚本分析

    1.代码审计发现 这里没有用escape_string,因此存在注入. function show($username){ global $conn; $sql = "select role ...

  4. 花了一年时间开发的TTF2FNT字库转换软件

    TTF(True Type Font)字库是微软定义的基于windows的标准字库格式.但其由于专利保护以及无法跨平台导致TTF字库在实际应用中无法有效使用. 为此我开发了TTF2FNT字库转换软件, ...

  5. Oracle RAC 实验环境RMAN备份v1.01

    Oracle RAC 实验环境RMAN备份v1.01 环境:RHEL 6.5 + Oracle GI 11.2.0.4 + RAC 11.2.0.4 (2 nodes) 需求:制定RAMN备份策略 版 ...

  6. NYOJ--187--快速查找素数(筛选法,素数打表)

    快速查找素数 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 现在给你一个正整数N,要你快速的找出在2.....N这些数里面所有的素数.   输入 给出一个正整数数N ...

  7. 最新 Zookeeper + Flume + Kafka 简易整合教程

    在大数据领域有很多耳熟能详的框架,今天要介绍的就是 zookeeper.flume.kafka.因为平时是做数据接入的,所以对这些实时的数据处理系统不是很熟悉.通过官网的简要介绍,搭建了一套简要的平台 ...

  8. [NOIP2009] 靶形数独 骚气的大爆搜

    这两天OD留的题是搜索,这个东西,就是历年的NOIP压轴题嘛.做了几道什么斗地主啊啥的,感觉还是这题我还懂点. 这道题的搜(xia)索(da)思路是这样的:预处理出一切能处理的东西. 数独大家都了解吧 ...

  9. 关于virtualenvwrapper的python, pip 的版本的问题

    关于virtualenvwrapper的python, pip 的版本的问题: 在创建虚拟环境时, 我们可以用 mkvirtualenv THE_NAME_OF_VENV --python=pytho ...

  10. trycatch放在for循环的里面还是外面好

    try放在for循环里面和外面的区别是什么呢?先看看下面的代码的区别:public class Test {    public void test1(){        for (int count ...