常用函数

  • 获取请求IP地址

    if (!function_exists('get_server_ip')) { /** * 获取服务端IP地址 * @return string 返回IP地址 */ function get_server_ip() { if (isset($_SERVER)) { if ($_SERVER['SERVER_ADDR']) { $server_ip = $_SERVER['SERVER_ADDR']; } else { $server_ip = $_SERVER['LOCAL_ADDR']; } } else { $server_ip = getenv('SERVER_ADDR'); } re

  • 获取随机编码

    if (!function_exists('get_random_str')) { /** * 生成随机字符串 * @param int $length 生成长度 * @param int $type 生成类型:0-小写字母+数字,1-小写字母,2-大写字母,3-数字,4-小写+大写字母,5-小写+大写+数字 * @return string 返回结果 */ function get_random_str($length = 8, $type = 0) { $a = 'abcdefghijklmnopqrstuvwxyz'; $A = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

  • 字节转换函数

    if (!function_exists('format_bytes')) { /** * 将字节转换为可读文本 * @param int $size 字节大小 * @param string $delimiter 分隔符 * @return string 返回结果 */ function format_bytes($size, $delimiter = '') { $units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB'); for ($i = 0; $size >= 1024 && $i < 6; $i++) { $siz

  • 导出Excel函数

    if (!function_exists('export_excel')) { /** * 数据导出Excel(csv文件) * @param string $file_name 文件名称 * @param array $tile 标题 * @param array $data 数据源 */ function export_excel($file_name, $tile = [], $data = []) { ini_set('memory_limit', '512M'); ini_set('max_execution_time', 0); ob_end_clean(); ob_start()

  • DES加解密函数

    if (!function_exists('decrypt')) { /** * DES解密 * @param string $data 解密字符串 * @param string $key 解密KEY * @return mixed */ function decrypt($data, $key = 'p@ssw0rd') { return openssl_decrypt($data, 'des-ecb', $key); }}if (!function_exists('encrypt')) { /** * * @param string $data 加密字符串 * @param string

  • 日期格式转换

    if (!function_exists('datetime')) { /** * 时间戳转日期格式 * @param int $time 时间戳 * @param string $format 转换格式(默认:Y-m-d h:i:s) * @return false|string 返回结果 */ function datetime($time, $format = 'Y-m-d H:i:s') { if (empty($time)) { return '--'; } $time = is_numeric($time) ? $time : strtotime($time); return da

  • CURL网络地址

    if (!function_exists('curl_get')) { /** * curl请求(GET) * @param string $url 请求地址 * @param array $data 请求参数 * @return bool|string 返回结果 */ function curl_get($url, $data = []) { // 处理get数据 if (!empty($data)) { $url = $url . '?' . http_build_query($data); } $curl = curl_init(); curl_setopt($curl, CURLOPT

  • 请求URL地址

    if (!function_exists('curl_url')) { /** * 获取当前访问的完整URL * @return string 返回结果 */ function curl_url() { $pageURL = 'http'; if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === 'on') { $pageURL .= "s"; } $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAM

  • 数组属性函数

    if (!function_exists('array_key_value')) { /** * 获取数组中某个字段的所有值 * @param $arr 数组 * @param string $name 字段值 * @return array */ function array_key_value($arr, $name = "") { $return = array(); if ($arr) { foreach ($arr as $key => $val) { if ($name) { $return[] = $val[$name]; } else { $return[] = $key

  • 数组与数组合并

    if (!function_exists('array_merge_multiple')) { /** * 多维数组合并 * @param array $array1 数组1 * @param array $array2 数组2 * @return array 返回合并数组 */ function array_merge_multiple($array1, $array2) { $merge = $array1 + $array2; $data = []; foreach ($merge as $key => $val) { if (isset($array1[$key]) &&

  • XML转换函数

    if (!function_exists('array2xml')) { /** * 数组转XML * @param array $arr 数据源 * @param bool $ignore XML解析器忽略 * @param int $level 层级 * @return string|string[]|null 返回结果 */ function array2xml($arr, $ignore = true, $level = 1) { $s = $level == 1 ? "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\r\n&

  • 消息数组函数

    if (!function_exists('message')) { /** * 消息数组函数 * @param string $msg 提示语 * @param bool $success 是否成功 * @param array $data 结果数据 * @param int $code 错误码 * @return array 返回消息对象 */ function message($msg = "操作成功", $success = true, $data = [], $code = 0) { $result = ['msg' => $msg, 'data' => $data, '

  • 删除文件

    /** * 删除站点配置文件 * @param $filename 站点配置文件 * @return boolean true 成功, false 失败 */ static public function deleteSiteConfigFile($filename) { // 判断文件是否存在 if (file_exists($filename)) { // 删除文件 if (unlink($filename)) { return true; } return false; } return true; }

  • 创建数据库

    /** * 创建数据库 * @param $db_name 数据库名称 * @return boolean true 成功, false 失败 */ static public function createDB($db_name) { $res = self::isDBExist($db_name); if (!$res) { $create = Db::execute("CREATE DATABASE IF NOT EXISTS ".$db_name." DEFAULT CHARSET utf8 COLLATE utf8_general_ci"); if ($create === 1) {

  • 删除数据库

    /** * 删除数据库 * @param $db_name 数据库名称 * @return boolean true 成功, false 失败 */ static public function deleteDB($db_name) { $res = self::isDBExist($db_name); if ($res) { $drop = Db::execute("DROP DATABASE ".$db_name); if (!$drop) { return true; } return false; } return true; }

  • 判断数据库是否存在

    /** * 判断数据库是否存在 * @param $db_name 数据库名称 * @return boolean true 成功, false 失败 */ static public function isDBExist($db_name) { $rs = Db::execute('SELECT * FROM information_schema.schemata WHERE schema_name="'.$db_name.'"'); if ($rs) { //存在 return true; } //不存在 return false; }

  • PHP 获取今天,昨天,前天,过去7天,过去30天,本周,上周的开始和结束时间

    protected function selectTime($key){ switch ($key) { //今天 case 1: $time[0] = mktime(0,0,0,date('m'),date('d'),date('Y')); $time[1] = mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; break; //昨天 case 2: $time[0] = mktime(0,0,0,date('m'),date('d')-1,date('Y')); $time[1] = mktime(0,0,0,date('m'),date('

  • PHP获取第几周的开始和结束时间

    protected function weekday($year,$week=1){ $year_start = mktime(0,0,0,1,1,$year); $year_end = mktime(0,0,0,12,31,$year); // 判断第一天是否为第一周的开始 if (intval(date('W',$year_start))===1){ $start = $year_start;//把第一天做为第一周的开始 }else{ $week++; $start = strtotime('+1 monday',$year_start);//把第一个周一作为开始 } // 第几周的开始时

  • PHP获取客户端操作系统信息

    /* * PHP获取客户端操作系统信息 */function get_os(){ $agent = $_SERVER['HTTP_USER_AGENT']; $os = false; if (preg_match('/win/i', $agent) && strpos($agent, '95')) { $os = 'Windows 95'; } else if (preg_match('/win 9x/i', $agent) && strpos($agent, '4.90')) { $os = 'Windows ME'; } else if (preg_matc