// +---------------------------------------------------------------------- // 应用公共文件 header('Content-Type:text/html;Charset=utf-8'); /** * 保存后台用户行为 * @param string $remark 日志备注 */ function insert_admin_log($remark) { db('user_log')->insert([ 'user_id' => session('admin_auth.id'), 'uname' => session('admin_auth.uname'), 'useragent' => request()->server('HTTP_USER_AGENT'), 'ip' => request()->ip(), 'url' => request()->url(true), 'method' => request()->method(), 'type' => request()->type(), 'param' => json_encode(request()->param()), 'remark' => $remark, 'create_time' => time(), ]); } /** * @param $str * @return string * 驼峰命名法转下划线风格 */ function to_under_score($str) { $array = array(); for ($i = 0; $i < strlen($str); $i++) { if ($str[$i] == strtolower($str[$i])) { $array[] = $str[$i]; } else { if ($i > 0) { $array[] = '-';//想转什么就可以自己设置 } $array[] = strtolower($str[$i]); } } $result = implode('', $array); return $result; } /** * 获取用户真实 IP */ function getIP() { static $realip; 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 tianqi($chengshi) { $url = 'http://wthrcdn.etouch.cn/weather_mini?city='.urlencode($chengshi); $html = file_get_contents($url); $jsondata = gzdecode($html); $data=json_decode($jsondata,true); $arr=array(); $arr['chengshi']=$data['data']['city']; $dangtian=$data['data']['forecast'][0]; $arr['gaowen']= str_replace("高温 ",null,$dangtian['high']); $arr['diwen']= str_replace("低温 ",null,$dangtian['low']); $arr['tianqi']=$dangtian['type']; $arr['fengxiang'] = $dangtian['fengxiang']; $arr['time'] =date("Y-m-d H:i:s"); return $arr; } /*** **解决表单重复提交问题 */ //创建TOKEN function createToken() { $code = chr(mt_rand(0xB0, 0xF7)) . chr(mt_rand(0xA1, 0xFE)) . chr(mt_rand(0xB0, 0xF7)) . chr(mt_rand(0xA1, 0xFE)) . chr(mt_rand(0xB0, 0xF7)) . chr(mt_rand(0xA1, 0xFE)); session('TOKEN', authcode($code)); } //判断TOKEN function checkToken($token) { if ($token == session('TOKEN')) { session('TOKEN', NULL); return TRUE; } else { return FALSE; } } /* 加密TOKEN */ function authcode($str) { $key = "YOURKEY"; $str = substr(md5($str), 8, 10); return md5($key . $str); } /** * @param $times:设置一个过期时间(60:代表1分钟,259220:代表3天(60(秒)*60(分)*24(小时)=1天),以此换算) */ function timeout($times){ $tuot = time()+$times; session('tuot',$tuot); } //---------------------------------------------------------end