常用函数:

<?php
/*** 获取客户端IP* @return [string] [description]*/
function getClientIp() {$ip = NULL;if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);$pos = array_search('unknown',$arr);if(false !== $pos) unset($arr[$pos]);$ip = trim($arr[0]);}elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {$ip = $_SERVER['HTTP_CLIENT_IP'];}elseif (isset($_SERVER['REMOTE_ADDR'])) {$ip = $_SERVER['REMOTE_ADDR'];}// IP地址合法验证$ip = (false !== ip2long($ip)) ? $ip : '0.0.0.0';return $ip;
}/*** 获取在线IP* @return String*/
function getOnlineIp($format=0) {global $S_GLOBAL;if(empty($S_GLOBAL['onlineip'])) {if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {$onlineip = getenv('HTTP_CLIENT_IP');} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {$onlineip = getenv('HTTP_X_FORWARDED_FOR');} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {$onlineip = getenv('REMOTE_ADDR');} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {$onlineip = $_SERVER['REMOTE_ADDR'];}preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);$S_GLOBAL['onlineip'] = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';}if($format) {$ips = explode('.', $S_GLOBAL['onlineip']);for($i=0;$i<3;$i++) {$ips[$i] = intval($ips[$i]);}return sprintf('%03d%03d%03d', $ips[0], $ips[1], $ips[2]);} else {return $S_GLOBAL['onlineip'];}
}/*** 获取url* @return [type] [description]*/
function getUrl(){$pageURL = 'http';if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}$pageURL .= "://";if ($_SERVER["SERVER_PORT"] != "80") {$pageURL .= $_SERVER["HTTP_HOST"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];} else {$pageURL .= $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];}return $pageURL;
}/*** 获取当前站点的访问路径根目录* @return [type] [description]*/
function getSiteUrl() {$uri = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']:($_SERVER['PHP_SELF']?$_SERVER['PHP_SELF']:$_SERVER['SCRIPT_NAME']);return 'http://'.$_SERVER['HTTP_HOST'].substr($uri, 0, strrpos($uri, '/')+1);
}/*** 字符串截取,支持中文和其他编码* @param [string] $str  [字符串]* @param integer $start [起始位置]* @param integer $length [截取长度]* @param string $charset [字符串编码]* @param boolean $suffix [是否有省略号]* @return [type]   [description]*/
function msubstr($str, $start=0, $length=15, $charset="utf-8", $suffix=true) {if(function_exists("mb_substr")) {return mb_substr($str, $start, $length, $charset);} elseif(function_exists('iconv_substr')) {return iconv_substr($str,$start,$length,$charset);}$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";preg_match_all($re[$charset], $str, $match);$slice = join("",array_slice($match[0], $start, $length));if($suffix) {return $slice."…";}return $slice;
}/*** php 实现js escape 函数* @param [type] $string [description]* @param string $encoding [description]* @return [type]   [description]*/
function escape($string, $encoding = 'UTF-8'){$return = null;for ($x = 0; $x < mb_strlen($string, $encoding);$x ++){$str = mb_substr($string, $x, 1, $encoding);if (strlen($str) > 1) { // 多字节字符$return .= "%u" . strtoupper(bin2hex(mb_convert_encoding($str, 'UCS-2', $encoding)));} else {$return .= "%" . strtoupper(bin2hex($str));}}return $return;
}
/*** php 实现 js unescape函数* @param [type] $str [description]* @return [type]  [description]*/
function unescape($str) {$str = rawurldecode($str);preg_match_all("/(?:%u.{4})|.{4};|&#\d+;|.+/U",$str,$r);$ar = $r[0];foreach($ar as $k=>$v) {if(substr($v,0,2) == "%u"){$ar[$k] = iconv("UCS-2","utf-8//IGNORE",pack("H4",substr($v,-4)));} elseif(substr($v,0,3) == "") {$ar[$k] = iconv("UCS-2","utf-8",pack("H4",substr($v,3,-1)));} elseif(substr($v,0,2) == "&#") {echo substr($v,2,-1)."";$ar[$k] = iconv("UCS-2","utf-8",pack("n",substr($v,2,-1)));}}return join("",$ar);
}/*** 数字转人名币* @param [type] $num [description]* @return [type]  [description]*/
function num2rmb ($num) {$c1 = "零壹贰叁肆伍陆柒捌玖";$c2 = "分角元拾佰仟万拾佰仟亿";$num = round($num, 2);$num = $num * 100;if (strlen($num) > 10) {return "oh,sorry,the number is too long!";}$i = 0;$c = "";while (1) {if ($i == 0) {$n = substr($num, strlen($num)-1, 1);} else {$n = $num % 10;}$p1 = substr($c1, 3 * $n, 3);$p2 = substr($c2, 3 * $i, 3);if ($n != '0' || ($n == '0' && ($p2 == '亿' || $p2 == '万' || $p2 == '元'))) {$c = $p1 . $p2 . $c;} else {$c = $p1 . $c;}$i = $i + 1;$num = $num / 10;$num = (int)$num;if ($num == 0) {break;}}$j = 0;$slen = strlen($c);while ($j < $slen) {$m = substr($c, $j, 6);if ($m == '零元' || $m == '零万' || $m == '零亿' || $m == '零零') {$left = substr($c, 0, $j);$right = substr($c, $j + 3);$c = $left . $right;$j = $j-3;$slen = $slen-3;}$j = $j + 3;}if (substr($c, strlen($c)-3, 3) == '零') {$c = substr($c, 0, strlen($c)-3);} // if there is a '0' on the end , chop it outreturn $c . "整";
}/*** 特殊的字符* @param [type] $str [description]* @return [type]  [description]*/
function makeSemiangle($str) {$arr = array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4','5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9','A' => 'A', 'B' => 'B', 'C' => 'C', 'D' => 'D', 'E' => 'E','F' => 'F', 'G' => 'G', 'H' => 'H', 'I' => 'I', 'J' => 'J','K' => 'K', 'L' => 'L', 'M' => 'M', 'N' => 'N', 'O' => 'O','P' => 'P', 'Q' => 'Q', 'R' => 'R', 'S' => 'S', 'T' => 'T','U' => 'U', 'V' => 'V', 'W' => 'W', 'X' => 'X', 'Y' => 'Y','Z' => 'Z', 'a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd','e' => 'e', 'f' => 'f', 'g' => 'g', 'h' => 'h', 'i' => 'i','j' => 'j', 'k' => 'k', 'l' => 'l', 'm' => 'm', 'n' => 'n','o' => 'o', 'p' => 'p', 'q' => 'q', 'r' => 'r', 's' => 's','t' => 't', 'u' => 'u', 'v' => 'v', 'w' => 'w', 'x' => 'x','y' => 'y', 'z' => 'z','(' => '(', ')' => ')', '〔' => '[', '〕' => ']', '【' => '[','】' => ']', '〖' => '[', '〗' => ']', '{' => '{', '}' => '}', '《' => '<','》' => '>','%' => '%', '+' => '+', '—' => '-', '-' => '-', '~' => '-',':' => ':', '。' => '.', '、' => ',', ',' => '.', '、' => '.',';' => ';', '?' => '?', '!' => '!', '…' => '-', '‖' => '|','”' => '"', '“' => '"', ''' => '`', '‘' => '`', '|' => '|', '〃' => '"',' ' => ' ','.' => '.');return strtr($str, $arr);
}/*** 下载* @param [type] $filename [description]* @param string $dir  [description]* @return [type]   [description]*/
function downloads($filename,$dir='./'){$filepath = $dir.$filename;if (!file_exists($filepath)){header("Content-type: text/html; charset=utf-8");echo "File not found!";exit;} else {$file = fopen($filepath,"r");Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Accept-Length: ".filesize($filepath));Header("Content-Disposition: attachment; filename=".$filename);echo fread($file, filesize($filepath));fclose($file);}
}/*** 创建一个目录树* @param [type] $dir [description]* @param integer $mode [description]* @return [type]  [description]*/
function mkdirs($dir, $mode = 0777) {if (!is_dir($dir)) {mkdirs(dirname($dir), $mode);return mkdir($dir, $mode);}return true;
}

---------》》》》

php : 常用函数相关推荐

  1. php内置常用函数是哪些,PHP常用函数有哪些

    PHP常用函数有哪些 导语:PHP主要通过函数实现一些功能,那PHP常用函数有哪些呢?下面就由小编为大家介绍一下,欢迎大家阅读! 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2) ...

  2. Lua基本语法-书写规范以及自带常用函数

    Lua基本语法-书写规范和常用函数 本文提供全流程,中文翻译. Chinar坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 String O ...

  3. SQLserver 常用函数适用方法(转载)

    SQL Server 常用函数使用方法(持续更新) 之前就想要把一些 SQL 的常用函数记录下来,不过一直没有实行...嘿嘿... 直到今天用到substring()这个函数,C# 里面这个方法起始值 ...

  4. python Pool常用函数用法总结

    在本篇内容里小编给大家整理的是一篇关于python Pool常用函数用法总结内容,有需要的朋友们可以学习下. 1.说明 apply_async(func[,args[,kwds]):使用非堵塞调用fu ...

  5. ACM——常用函数总结

    常用函数总结: 一.全排列:next_permutation 二.读写优化 三.返回容器内最大最小值 四.复制函数 五.容器删除函数 六.容器填充函数 七.查找函数 八.字符串转换整数 九.欧拉筛 十 ...

  6. e class connect.php,剖析帝国CMS核心文件e/class/connect.php中的常用函数

    帝国CMS下的e/class/connect.php文件中包含了帝国CMS常用的一些核心功能函数,加深对connect.php文件中常用函数的了解对于帝国CMS的二次开发来说非常重要. 现将帝国CMS ...

  7. PHP访问mysql的常用函数,PHP操作MySQL数据库常用函数

    PHP操作MySQL数据库常用函数 php操作mysql数据库,俗称天龙八步: 第一步:连接数据库 第二步:判断连接错误 第三步:选择数据库 第四步:设置字符集 第五步:准备SQL语句 第六步:执行并 ...

  8. python math库常用函数_Python math库常用函数

    math库常用函数及举例: 注意:使用math库前,用import导入该库 >>> import math 取大于等于x的最小的整数值,如果x是一个整数,则返回x >>& ...

  9. R语言广义线性模型函数GLM、广义线性模型(Generalized linear models)、GLM函数的语法形式、glm模型常用函数、常用连接函数、逻辑回归、泊松回归、系数解读、过散度分析

    R语言广义线性模型函数GLM.广义线性模型(Generalized linear models).GLM函数的语法形式.glm模型常用函数.常用连接函数.逻辑回归.泊松回归.系数解读.过散度分析 目录

  10. R语言效用分析 ( 效能分析、Power analysis)确定样本量、假设检验与两类错误、pwr包进行效用分析 ( 效能分析、Power analysis)的常用函数列表

    R语言效用分析 ( 效能分析.Power analysis)确定样本量.假设检验与两类错误.pwr包进行效用分析 ( 效能分析.Power analysis)的常用函数列表 目录

最新文章

  1. LeetCode实战:LRU缓存机制
  2. FL计算机软件,FL Studio12水果音乐制作软件
  3. chosen ajax获取数据,Jquery Chosen插件 - 由Ajax动态填充列表
  4. connection refused_ERR_CONNECTION_REFUSED
  5. MySQL数据库安装与Navicat Premium 12 安装与破解
  6. 如何利用工业大数据降本增效
  7. 安装双系统:Win7/Win10 + Ubuntu(亲测可用)
  8. java实现语法分析实验报告_[源码和文档分享]基于JAVA实现的基于LL(1)语法分析构造表...
  9. WPS入门StackPanel与Grid
  10. 西门子PLC开关量选择
  11. 多源信息融合技术研究综述
  12. 机器学习流程及详细内容(4)
  13. 用别人的血汗去染自己的红顶子,谁愿意去干谁干,我是不干
  14. 常用颜色的RGB值及中英文名称
  15. 运营商劫持是什么、运营商DNS网络劫持如何解决
  16. 样条函数--spline
  17. CodeForces - 1152 B. Neko Performs Cat Furrier Transform
  18. 郑捷《机器学习算法原理与编程实践》学习笔记(第六章 神经网络初步)6.2 BP神经网络...
  19. 达索SOLIDWORKS PDM让你的团队协作更紧密
  20. MFC 中PreTranslateMessage(MSG* pMsg)截获按钮和编辑框的消息进行预处理

热门文章

  1. mysql到mysqli转变表_利用mysql和mysqli取得mysql的所有数据库和库中的所有表
  2. 计算机软件应用员,济宁计算机办公应用软件操作员
  3. mysql 5.7 差异备份_MySQL 5.7 新备份工具mysqlpump 使用说明 - 运维小结
  4. C语言中的标识符以字母或下划线开头,牛逼大神整理的C语言基础知识,你确定你不码下来?...
  5. 计算机产品创新设计实践,基于TRIZ的计算机辅助机械产品创新设计研究
  6. 经济学原理 下载 曼昆_2021南开经济学考研全年规划
  7. python传文件给java_用java pyhont通过HTTP协议传输文件流
  8. php 两个数组 交集_两个数组的交集
  9. asp.net button创建控件时出错_Tkinter Radiobutton控件
  10. 微信小程序弹出框竖向滚动_微信小程序 解决自定义弹出层滑动时下层页面滚动问题...