php 自己封装的一些函数
手机归属地函数
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 自己封装的一些函数的更多相关文章
- JS_ECMA基本语法中的几种封装的小函数-2
大家好!今天继续给大家写一下ECMA中的剩下的小函数以及实用的实例: 首先先给大家说一下字符串.数组.数学方法以及json的一点小知识点: 字符串方法: str.length str.charAt(i ...
- JS_ECMA基本语法中的几种封装的小函数-1
今天给大家介绍js ECMA中几个封装的小函数以及一些常用的函数小案例: 1,找重复的函数 <script> //在数组里面找重复: function findInArr(n,arr){ ...
- JS_ECMA基本语法中的几种封装的小函数
先来回顾一下我们的字符串: 字符串方法: str.length str.charAt(i):取字符串中的某一个; str.indexOf('e');找第一个出现的位置;找不到返回-1; str.l ...
- AJAX编程-封装ajax工具函数
即 Asynchronous [e'sɪŋkrənəs] Javascript And XML,AJAX 不是一门的新的语言,而是对现有技术的综合利用.本质是在HTTP协议的基础上以异步的方式与服务器 ...
- 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 ...
- js原生:封装document.getElementByClassName()函数
//接口封装:封装document.getElementByClassName()函数function getElementsByClassName (cName,domTag,root) {//该函 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及abp封装的Javascript函数库
经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 模型和DTO已经建好,所以我们直接在服务 ...
- Thinkphp3.2.3框架下封装公共的函数,例如封装CURL函数来获取接口数据
当我们需要在控制层调用相同的封装函数时,写多次相同的函数,显得代码十分的拉杂,不精简: TP框架有一个很好的机制,可以再Common定义一个function.php函数,当我们在控制层调用的时候直接调 ...
- main.js中封装全局登录函数
1. 在 main.js 中封装全局登录函数 通过 vue 对象的原型扩展,可以扩展一个函数,这样这个函数就可以在每一个界面通过类似指向对象的方式,去访问这个函数. 如下是 main.js 扩展的函数 ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登录逻辑及几种abp封装的Javascript函数库
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 简介 经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这 ...
随机推荐
- tensorflow softsign函数应用
1.softsign函数 图像 2.tensorflow softsign应用 import tensorflow as tf input=tf.constant([0,-1,2,-30,30],dt ...
- python爬虫从入门到放弃(二)之爬虫的原理
在上文中我们说了:爬虫就是请求网站并提取数据的自动化程序.其中请求,提取,自动化是爬虫的关键!下面我们分析爬虫的基本流程 爬虫的基本流程 发起请求通过HTTP库向目标站点发起请求,也就是发送一个Req ...
- 实验楼 1. k-近邻算法实现手写数字识别系统--《机器学习实战 》
首先看看一些关键词:K-NN算法,训练集,测试集,特征(空间),标签 举实验楼中的样例,通俗的讲讲K-NN算法:电影有两个分类(标签)-动作片-爱情片.两个特征--打斗场面--亲吻画面. 将那些数字和 ...
- 【SignalR学习系列】6. SignalR Hubs Api 详解(C# Server 端)
如何注册 SignalR 中间件 为了让客户端能够连接到 Hub ,当程序启动的时候你需要调用 MapSignalR 方法. 下面代码显示了如何在 OWIN startup 类里面定义 SignalR ...
- Java内存区域与对象创建过程
一.java内存区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则 ...
- 【javascript】变量作用范围
一.全局变量&局部变量 test="" 全局变量 var test="" 局部变量,无块的概念,作用域为function 或者script块 二.有意思 ...
- 百度地图api将可视区域定位到当前所在位置
1.前言 开头不说点什么,总是有点不习惯.还是说点什么吧,关于百度地图,我用的次数还是比较多的,没办法,需求呀.好吧,在用百度地图的时候,确实有过很多需求,不过好在百度地图很强大,每次需求在探索后都能 ...
- Verilog 任意(奇数/偶数)分频器
参加过一次笔试,让实现3分频,楼主当时是懵逼的,脑子里只知道同时利用上升沿和下降沿,本来写对了,慌张面试,脑子不管用了,(因为是手写,只能用脑子仿真)后来又给改错了,捂脸... 还是逻辑不清晰,现在自 ...
- Python获取股票历史、实时数据与更新到数据库
要做量化投资,数据是基础,正所谓"巧妇难为无米之炊" 在免费数据方面,各大网站的财经板块其实已提供相应的api,如新浪.雅虎.搜狐...可以通过urlopen相应格式的网址获取数据 ...
- Linux基本命令整理_sheng
Linux版本 Linux系统是一个多用户.多任务的分时操作系统. Linux版本分为内核版本和发行版本. 常见的Linux发行版有: RedHat(分为用于企业的Red Hat Enterprise ...