<?php // 应用公共文件 if (!function_exists('urlencode2')) { /** * 2次URL解码 * @param $str * @return string */ function urlencode2($str) { return urlencode(urlencode($str)); } } if (!function_exists('urldecode2')) { /** * 2次URL解码 * @param $str * @return string */ function urldecode2($str) { return urldecode(urldecode($str)); } } if (!function_exists('returnFormat')) { /** * 格式化输出返回值 * @param int $code * @param string $msg * @param array $data * @return mixed */ function returnFormat($code = 0, $msg = "", $data = []) { $res['code'] = $code; $res['data'] = $data; $res['msg'] = $msg; return $res; } } if (!function_exists('each_item')) { function each_item(&$array) { $res = array(); $key = key($array); if ($key !== null) { next($array); $res[1] = $res['value'] = $array[$key]; $res[0] = $res['key'] = $key; } else { $res = false; } return $res; } } if (!function_exists('getVirRootDir')) { /** * 获取虚拟目录路径 * @return bool|string */ function getVirRootDir() { $url = $_SERVER['SCRIPT_NAME']; $url = substr($url, 0, strripos($url, "/")); return $url; } } if (!function_exists('getNow')) { /** * 获取当时时间 * @param string $fmt 格式化 * @return false|string */ function getNow($fmt = "Y-m-d H:i:s") { return date($fmt); } } if (!function_exists('getUrl')) { /** * 获取当前的访问路径 * @return [type] [description] */ function getUrl() { $sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://'; $php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']; $path_info = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : ''; $relate_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $php_self . (isset($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : $path_info); return $sys_protocal . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '') . $relate_url; } } if (!function_exists('number2chinese')) { function number2chinese($num) { $arr = array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); $cny = array('', '拾', '佰', '仟', '', '萬', '亿', '兆'); //小数部分 $retval = ''; if (strpos($num, '.') !== false) { list($num, $dec) = explode('.', $num); $retval .= $arr[$dec[0]] . '角' . $arr[$dec[1]] . '分'; } //整数部分 $str = $num != '0' ? strrev($num) : ''; $out = array(); for ($i = 0; $i < strlen($str); $i++) { $out[$i] = $arr[$str[$i]]; $out[$i] .= $str[$i] != '0' ? $cny[$i % 4] : ''; if ($i > 1 && $str[$i] + $str[$i - 1] == 0) { $out[$i] = ''; } if ($i % 4 == 0) { $out[$i] .= $cny[4 + floor($i / 4)]; } //echo $out[$i].'<br>'; } $retval = implode('', array_reverse($out)) . '元' . $retval; return $retval; } } if (!function_exists('toUnderScore')) { /** * 驼峰命名转下划线命名 * 思路: * 小写和大写紧挨一起的地方,加上分隔符,然后全部转小写 * @param $camelCaps * @param string $separator * @return string * @author web */ function toUnderScore($camelCaps, $separator = '_') { return strtolower(preg_replace('/([a-z])([A-Z])/', "$1" . $separator . "$2", $camelCaps)); } } if (!function_exists('convertUTF8')) { /** * 解决中文乱码的问题 * @param $str * @return string */ function convertUTF8($str) { if (empty($str)) return ''; return iconv('utf-8', 'gb2312', $str); } } if (!function_exists('isIdCardNo')) { /** * 判断是否为合法的身份证号码 * @param $mobile * @return int */ function isIdCardNo($vStr) { $vCity = array( '11', '12', '13', '14', '15', '21', '22', '23', '31', '32', '33', '34', '35', '36', '37', '41', '42', '43', '44', '45', '46', '50', '51', '52', '53', '54', '61', '62', '63', '64', '65', '71', '81', '82', '91' ); if (!preg_match('/^([\d]{17}[xX\d]|[\d]{15})$/', $vStr)) return false; if (!in_array(substr($vStr, 0, 2), $vCity)) return false; $vStr = preg_replace('/[xX]$/i', 'a', $vStr); $vLength = strlen($vStr); if ($vLength == 18) { $vBirthday = substr($vStr, 6, 4) . '-' . substr($vStr, 10, 2) . '-' . substr($vStr, 12, 2); } else { $vBirthday = '19' . substr($vStr, 6, 2) . '-' . substr($vStr, 8, 2) . '-' . substr($vStr, 10, 2); return false;//不考虑一代身份证了 } if (date('Y-m-d', strtotime($vBirthday)) != $vBirthday) return false; if ($vLength == 18) { $vSum = 0; for ($i = 17; $i >= 0; $i--) { $vSubStr = substr($vStr, 17 - $i, 1); $vSum += (pow(2, $i) % 11) * (($vSubStr == 'a') ? 10 : intval($vSubStr, 11)); } if ($vSum % 11 != 1) return false; } return true; } } if (!function_exists('cleanEnter')) { /** * 清除回车换行和前后空格 * @param $str * @return array|string|string[] */ function cleanEnter($str) { $str = trim($str); $str = str_replace("\n", "", $str); $str = str_replace("\r", "", $str); return $str; } } if (!function_exists('randNum')) { /** * 获取数字随机数 * @param $length 数字长度 * @return int */ function randNum($length = 8) { $min = pow(10, $length - 1) + 1; $max = pow(10, $length) - 1; $rand = rand($min, $max); // echo "length: $length, min: $min ,max: $max ,rand: $rand \r\n <br/>"; return $rand; } }