alert('{$data['msg']}');window.location.href = '/microClient/index';"; } else { echo ""; } if(isset($data['code'])) { if(0 == $data['code']) { $data['code'] = 1; } else { $data['code'] = 0; } } exit; } exit(json_encode($data)); } function isLogin() { global $_SESSION; if(isset($_SESSION['account']) && $_SESSION['account']) { return true; } return false; } function logout() { global $_SESSION; if(empty($_SESSION)) return false; $_SESSION = []; session_destroy(); return true; } function loginAdmin($token = '') { global $_CONFIG, $_SESSION; if(!$token) return false; if(!isset($_SESSION['admin']) || !$_SESSION['admin']) { setcookie('admin', $token, $_CONFIG['session_time']); $_SESSION['admin'] = $token; } return true; } function logoutAdmin() { global $_SESSION; if(empty($_SESSION)) return false; setcookie('admin', ''); $_SESSION = []; session_destroy(); return true; } // 推送日志 function writeLog($message, $type = 'gm') { $date = date('Y-m-d'); $path = __DIR__.'/log/'.date('Y-m').'/'.date('d').'/'; mkdirs($path); $file = 'log_'.md5($date.BASE_KEY).'.log'; $message .= ', IP: '.get_ip(); file_put_contents($path.$file, '['.date('Y-m-d H:i:s').'] '.$message.PHP_EOL, FILE_APPEND); } function isPost() { return 'POST' == $_SERVER['REQUEST_METHOD']; } function get_http_type() { return ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://'; } function get_ip() { if (isset($_SERVER)) { if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $realip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else if (isset($_SERVER['HTTP_CLIENT_IP'])) { $realip = $_SERVER['HTTP_CLIENT_IP']; } else { $realip = $_SERVER['REMOTE_ADDR']; } } else { if (getenv('HTTP_X_FORWARDED_FOR')) { $realip = getenv('HTTP_X_FORWARDED_FOR'); } else if (getenv('HTTP_CLIENT_IP')) { $realip = getenv('HTTP_CLIENT_IP'); } else { $realip = getenv('REMOTE_ADDR'); } } return $realip; } function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])) { // 找不到为flase,否则为true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } // 脑残法,判断手机发送的客户端标志,兼容性有待提高 if (isset ($_SERVER['HTTP_USER_AGENT'])) { $clientkeywords = ['nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile']; // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; } } // 协议法,因为有可能不准确,放到最后判断 if (isset ($_SERVER['HTTP_ACCEPT'])) { // 如果只支持wml并且不支持html那一定是移动设备 // 如果支持wml和html但是wml在html之前则是移动设备 if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) { return true; } } return false; } /** * 获得访客操作系统 */ function getOS($str = '') { $str = $str ? $str : (isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''); if (isset($str)) { if (preg_match('/win/i', $str)) { $val = 'Windows'; } else if (preg_match('/mac/i', $str)) { $val = 'MAC'; } else if (preg_match('/linux/i', $str)) { $val = 'Linux'; } else if (preg_match('/unix/i', $str)) { $val = 'Unix'; } else if (preg_match('/bsd/i', $str)) { $val = 'BSD'; } else { $val = 'Other'; } return $val; } else { return 'unknow'; } } /** * 获得访问者浏览器 */ function getBrowse($str = '') { $str = $str ? $str : $_SERVER['HTTP_USER_AGENT']; if (isset($str)) { if (preg_match('/MSIE/i', $str)) { $val = 'MSIE'; } else if (preg_match('/Firefox/i', $str)) { $val = 'Firefox'; } else if (preg_match('/Chrome/i', $str)) { $val = 'Chrome'; } else if (preg_match('/Safari/i', $str)) { $val = 'Safari'; } else if (preg_match('/Opera/i', $str)) { $val = 'Opera'; } else { $val = 'Other'; } return $val; } else { return 'unknow'; } } /** * 生成指定位数的随机字符 * * @static * @access public * @param int $len 长度 * @param string $format 格式 * @return string * @author 317743968 <2019/07/25> */ function getRandomString($len = 6, $format = 'ALL') { switch($format) { case 'ALL': $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~'; break; case 'CHAR': $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';//-@#~ break; case 'NUMBER': $chars = '0123456789'; break; default: $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~'; break; } mt_srand((double) microtime() * 1000000 * getmypid()); $string = ''; while(strlen($string) < $len) { $string .= substr($chars, (mt_rand() % strlen($chars)), 1); } return $string; } /** * 个性化时间函数 * @param string $time 时间戳 * @return string */ function time_tran($time) { $newtime = time() - $time; if ($newtime < 60) { $str = '刚刚'; }elseif ($newtime < 60 * 60) { $min = floor($newtime/60); $str = ''.$min.'分钟前'; }elseif ($newtime < 60 * 60 * 24) { $h = floor($newtime/(60*60)); $str = ''.$h.'小时前'; }else{ $newtime = strtotime(date('Y-m-d', time())) - strtotime(date('Y-m-d', $time)); if ($newtime < 60 * 60 * 24 * 3) { $d = floor($newtime/(60*60*24)); $str = ''.($d == 1 ? '昨天' : '前天').''; }elseif ($newtime < 60 * 60 * 24 * 30) { $str = ''.floor($newtime / (60*60*24)).'天前'; }elseif ($newtime < 60 * 60 * 24 * 30 * 12) { $str = floor($newtime / (60*60*24*30)).'月前'; }else{ $str = '一年前'; } } return $str; } //创建文件夹 function mkdirs($dir, $mode = 0777) { if (is_dir($dir) || @mkdir($dir, $mode)) { return true; } if (!mkdirs(dirname($dir), $mode)) { return false; } return @mkdir($dir, $mode); } function curl($url, $post_data = null, $method = 'post') { //初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, $url); //设置头文件的信息作为数据流输出 //curl_setopt($curl, CURLOPT_HEADER, 1); //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //防止CURL出错 curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //不验证ssl证书 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); if ($method == 'post') { //设置post方式提交 curl_setopt($curl, CURLOPT_POST, 1); //设置post数据 curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); } //执行命令 $data = curl_exec($curl); if($data === false) die('Curl error: '.curl_error($curl)); //关闭URL请求 curl_close($curl); return $data; }