php常用函数封装.doc_第1页
php常用函数封装.doc_第2页
php常用函数封装.doc_第3页
php常用函数封装.doc_第4页
php常用函数封装.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

常用函数封装 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273?php/* 获取客户端IP* return string description*/function getClientIp() $ip = NULL;if (isset($_SERVERHTTP_X_FORWARDED_FOR) $arr = explode(, $_SERVERHTTP_X_FORWARDED_FOR);$pos = array_search(unknown,$arr);if(false != $pos) unset($arr$pos);$ip = trim($arr0);elseif (isset($_SERVERHTTP_CLIENT_IP) $ip = $_SERVERHTTP_CLIENT_IP;elseif (isset($_SERVERREMOTE_ADDR) $ip = $_SERVERREMOTE_ADDR;/ IP地址合法验证$ip = (false != ip2long($ip) ? $ip : ;return $ip;/* 获取在线IP* return String*/function getOnlineIp($format=0) global $S_GLOBAL;if(empty($S_GLOBALonlineip) 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($_SERVERREMOTE_ADDR) & $_SERVERREMOTE_ADDR & strcasecmp($_SERVERREMOTE_ADDR, unknown) $onlineip = $_SERVERREMOTE_ADDR;preg_match(/d.7,15/, $onlineip, $onlineipmatches);$S_GLOBALonlineip = $onlineipmatches0 ? $onlineipmatches0 : unknown;if($format) $ips = explode(., $S_GLOBALonlineip);for($i=0;$i3;$i+) $ips$i = intval($ips$i);return sprintf(%03d%03d%03d, $ips0, $ips1, $ips2); else return $S_GLOBALonlineip;/* 获取url* return type description*/function getUrl()$pageURL = http;if (isset($_SERVERHTTPS) & $_SERVERHTTPS = on) $pageURL .= s;$pageURL .= :/;if ($_SERVERSERVER_PORT != 80) $pageURL .= $_SERVERHTTP_HOST . : . $_SERVERSERVER_PORT . $_SERVERREQUEST_URI; else $pageURL .= $_SERVERHTTP_HOST . $_SERVERREQUEST_URI;return $pageURL;/* 获取当前站点的访问路径根目录* return type description*/function getSiteUrl() $uri = $_SERVERREQUEST_URI?$_SERVERREQUEST_URI:($_SERVERPHP_SELF?$_SERVERPHP_SELF:$_SERVERSCRIPT_NAME);return http:/.$_SERVERHTTP_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);$reutf-8 = /x01-x7f|xc2-xdfx80-xbf|xe0-xefx80-xbf2|xf0-xffx80-xbf3/;$regb2312 = /x01-x7f|xb0-xf7xa0-xfe/;$regbk = /x01-x7f|x81-xfex40-xfe/;$rebig5 = /x01-x7f|x81-xfe(x40-x7e|xa1-xfe)/;preg_match_all($re$charset, $str, $match);$slice = join(,array_slice($match0, $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 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;|.+/U,$str,$r);$ar = $r0;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) = $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 0, = 1, = 2, = 3, = 4, = 5, = 6, = 7, = 8, = 9, = A, = B, = C, = D, = E, = F, = G, = H, = I, = J, = K, = L, = M, = N, = O, = P, = Q, = R, = S, = T, = U, = V, = W, = X, = Y, = Z, = a, = b, = c, = d, = e, = f, = g, = h, = i, = j, = k, = l, = m, = n, = o, = p, = q, = r, = s, = t, = u, = v, = w, = x, = y, = 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;2.文件function.php9KB下载(65)跳至1234?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273?php/* 获取客户端IP* return string description*/function getClientIp() $ip = NULL;if (isset($_SERVERHTTP_X_FORWARDED_FOR) $arr = explode(, $_SERVERHTTP_X_FORWARDED_FOR);$pos = array_search(unknown,$arr);if(false != $pos) unset($arr$pos);$ip = trim($arr0);elseif (isset($_SERVERHTTP_CLIENT_IP) $ip = $_SERVERHTTP_CLIENT_IP;elseif (isset($_SERVERREMOTE_ADDR) $ip = $_SERVERREMOTE_ADDR;/ IP地址合法验证$ip = (false != ip2long($ip) ? $ip : ;return $ip;/* 获取在线IP* return String*/function getOnlineIp($format=0) global $S_GLOBAL;if(empty($S_GLOBALonlineip) 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($_SERVERREMOTE_ADDR) & $_SERVERREMOTE_ADDR & strcasecmp($_SERVERREMOTE_ADDR, unknown) $onlineip = $_SERVERREMOTE_ADDR;preg_match(/d.7,15/, $onlineip, $onlineipmatches);$S_GLOBALonlineip = $onlineipmatches0 ? $onlineipmatches0 : unknown;if($format) $ips = explode(., $S_GLOBALonlineip);for($i=0;$i3;$i+) $ips$i = intval($ips$i);return sprintf(%03d%03d%03d, $ips0, $ips1, $ips2); else return $S_GLOBALonlineip;/* 获取url* return type description*/function getUrl()$pageURL = http;if (isset($_SERVERHTTPS) & $_SERVERHTTPS = on) $pageURL .= s;$pageURL .= :/;if ($_SERVERSERVER_PORT != 80) $pageURL .= $_SERVERHTTP_HOST . : . $_SERVERSERVER_PORT . $_SERVERREQUEST_URI; else $pageURL .= $_SERVERHTTP_HOST . $_SERVERREQUEST_URI;return $pageURL;/* 获取当前站点的访问路径根目录* return type description*/function getSiteUrl() $uri = $_SERVERREQUEST_URI?$_SERVERREQUEST_URI:($_SERVERPHP_SELF?$_SERVERPHP_SELF:$_SERVERSCRIPT_NAME);return http:/.$_SERVERHTTP_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);$reutf-8 = /x01-x7f|xc2-xdfx80-xbf|xe0-xefx80-xbf2|xf0-xffx80-xbf3/;$regb2312 = /x01-x7f|xb0-xf7xa0-xfe/;$regbk = /x01-x7f|x81-xfex40-xfe/;$rebig5 = /x01-x7f|x81-xfe(x40-x7e|xa1-xfe)/;preg_match_all($re$charset, $str, $match);$slice = join(,array_slice($match0, $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 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;|.+/U,$str,$r);$ar = $r0;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) = $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 =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论