$curTime, 'numTime' => $numTime, 'runName' => $runName); } else { echo "
执行{$runName} 功能,当前时间为:{$curTime},累积用时: {$numTime}
"; return; } } function get_millisecond() { list($usec, $sec) = explode(" ", microtime()); $msec = round($usec * 1000); return $sec . $msec; } //获取当日或指定日期年、月、日、周、季 function GetpartTime($date = '') { $date = empty($date) ? date('Y-m-d', time()) : $date; $tstr = strtotime($date); $t = array(); $t['year'] = date('Y', $tstr); $t['month'] = date('m', $tstr); $t['day'] = date('d', $tstr); $t['season'] = ceil($t['month'] / 3); /*$time = $t['year'] . '-' . $t['month']; $weekday = date('w', strtotime($time)); //获取1号是周几 if ($weekday == 1) { //1号是周一 $firstWeekDay = 7; } elseif ($weekday == 0) { //1号是周日 $firstWeekDay = 1; } else { $firstWeekDay = 8 - $weekday; } $t['week'] = 1 + ceil(($t['day'] - $firstWeekDay) / 7);*/ $t['week'] = date('W', $tstr); $t['wyear'] = ($t['month'] == 12 && $t['week'] == 1) ? ($t['year'] + 1) : $t['year']; return $t; } //检测是否有权限,有权限返回True,没有权限false function checkRriv($code) { if (($re = \App\Models\Role::hasRoot($code)) == 1) { return true; } return false; } function arrayToOptions($data, $key, $val) { $options = array(); if (is_array($data) && count($data)) { foreach ($data as $k => $value) { $options[$value[$key]] = $value[$val]; } } return $options; } function arrayToNumber($data, $field = array()) { if (is_array($data) && count($data)) { foreach ($data as $k => $value) { foreach ($value as $key => $v) { if (in_array($key, $field)) { $data[$k][$key] = intval(round(floatval($v) * 100)) / 100; } } } } return $data; } function responseToJson($status, $msg = '', $data = '') { $return = array(); //返回数组 //组装状态码和返回数据 if ($status < 0) { $return['status'] = $status; $return['data'] = $data; } else { if (!is_numeric($status)) { $return['data'] = $status; $return['status'] = 1; } else { $return['status'] = $status; $return['data'] = $data; } } //组装返回信息 if (empty($msg)) { $return['msg'] = trans('error.' . $return['status']); } else { $return['msg'] = $msg; } //返回json数据 return response()->json($return); } /** *密码加密码 */ function GenEncryption() { srand((double)microtime() * 1000000); //create a random number feed. $ychar = "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"; $list = explode(",", $ychar); $authnum = ""; for ($i = 0; $i < 6; $i++) { $randnum = rand(0, 61); // 10+26; $authnum .= $list[$randnum]; } return $authnum; } //密码加密 function GenPassword($password) { $Enc = GenEncryption(); $Pwd = md5(md5($Enc . $password)); return array("encryption" => $Enc, "password" => $Pwd); } //密码验证 function VerPassword($checkpwd, $enc, $ypwd) { $VerPwd = md5(md5($enc . $checkpwd)); if ($VerPwd == $ypwd) { unset($VerPwd); return true; } else { unset($VerPwd); return false; } } //订单号 function OrderID($prefix = '') { $num = mt_rand(100, 999); list($s, $m) = explode(' ', microtime()); $order = date("YmdHis") . ($s * 1000000) . $num; return $prefix . $order; } //identity生产 function UUID() { $prefix = ''; $uuid = ''; $str = md5(uniqid(mt_rand(), true)); $uuid = substr($str, 0, 8) . '-'; $uuid .= substr($str, 8, 4) . '-'; $uuid .= substr($str, 12, 4) . '-'; $uuid .= substr($str, 16, 4) . '-'; $uuid .= substr($str, 20, 12); return $prefix . $uuid; } function S($key, $value = '') { if (!isset($GLOBALS[$key]) && empty($value)) { return -1; } if (isset($GLOBALS[$key]) && empty($value)) { return $GLOBALS[$key]; } return $GLOBALS[$key] = $value; } /** * 获取客户端真实IP */ function GETIP() { global $ip; if (getenv("HTTP_CLIENT_IP")) { $ip = getenv("HTTP_CLIENT_IP"); } else if (getenv("HTTP_X_FORWARDED_FOR")) { $ip = getenv("HTTP_X_FORWARDED_FOR"); } else if (getenv("REMOTE_ADDR")) { $ip = getenv("REMOTE_ADDR"); } else { $ip = "Unknow"; } return $ip; } function OperationLog($id, $opt, $data) { $data = array( 'identity' => UUID(), 'status' => 1, 'ip' => GETIP(), 'operation_time' => date('Y-m-d H:i:s', time()), 'system_identity' => $id, 'operation' => vsprintf(trans('operation.' . $opt), $data), ); $db = new \App\Models\System_log; return $db->insertData($data); } function arrayToNum($data, $field = array()) { if (is_array($data) && count($data)) { foreach ($data as $k => $value) { if (in_array($k, $field)) { $data[$k] = intval(floatval($value) * 100) / 100; } } } return $data; } //邮箱中间星号 function emailHide($email) { if (!empty($email)) { $arr = explode('@', $email); if (is_array($arr)) { $rest = substr($arr[0], 2, -2); $arr[0] = str_replace($rest, str_repeat('*', strlen($rest)), $arr[0]); $email = implode('@', $arr); } } return $email; } //手机中间星号 function phoneHide($phone) { if (!empty($phone)) { $phone = substr_replace($phone, '****', 3, 4); } return $phone; } //用户名中间星号 function userHide($user_name) { $len = strlen($user_name) / 2; return substr_replace($user_name, str_repeat('*', $len), ceil(($len) / 2), $len); } //银行卡号中间星号 function bankHide($bank) { //截取银行卡号前4位 $prefix = substr($bank, 0, 4); //截取银行卡号后4位 $suffix = substr($bank, -4, 4); $maskBankCardNo = $prefix . " ************ " . $suffix; return $maskBankCardNo; } function toLog($data) { file_put_contents(); } //生成token function createToken() { $enc = GenEncryption(); $time = time(); $token = substr(uniqid($enc . $time), 0, 35); return $token; } //更新token function refreshToken($admin_id) { $db = new \App\Models\System_user; $token = createToken(); $res = $db->refreshToken($admin_id, $token); if ($res > 0) { return $token; } return $res; } //检测token function checkToken($admin_id, $token) { $db = new \App\Models\System_user; return $db->checkToken($admin_id, $token); } //保留小数位数 function floatPointDigit($data, $long = 2) { $long = intval($long); $for1 = "%." . $long . "f"; $for2 = "%." . ($long + 1) . "f"; return sprintf($for1, substr(sprintf($for2, $data), 0, -1)); } //构造请求 function request_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false; } $postUrl = $url; $curlPost = $param; $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL, $postUrl);//抓取指定网页 curl_setopt($ch, CURLOPT_HEADER, 0);//设置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_POST, 1);//post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); $data = curl_exec($ch);//运行curl curl_close($ch); return $data; }