* Date: 2019/11/22 0022 * Time: 9:46 */ namespace common\components; use Yii; class httpUtil { //专用方法,请勿修改 shish 2019.11.21 public static function getHttpHost() { $http = isset($_SERVER['REQUEST_SCHEME']) ? $_SERVER['REQUEST_SCHEME'] . '://' : 'https://'; $suffix = 'huahb.com'; if (isset($_SERVER['HTTP_HOST'])) { $hostInfo = $_SERVER['HTTP_HOST']; $parse = parse_url($hostInfo); $host = $parse['path']; $pos = strpos($host, '.') + 1; $suffix = substr($host, $pos); } return ['http' => $http, 'suffix' => $suffix]; } //获得类似这样 http://m.hhb.com public static function getHost() { return Yii::$app->request->getHostInfo(); } //获取header里的数据 shish 2019.11.22 public static function getHeader() { $ignore = ['host', 'accept', 'content-length', 'content-type']; $headers = []; foreach ($_SERVER as $key => $value) { if (substr($key, 0, 5) === 'HTTP_') { $key = substr($key, 5); $key = str_replace('_', ' ', $key); $key = str_replace(' ', '-', $key); $key = strtolower($key); if (!in_array($key, $ignore)) { $headers[$key] = $value; } } } //$token = isset($headers['token']) ? $headers['token'] : ''; return $headers; } public static function getToken() { $header = self::getHeader(); $token = isset($header['token']) ? $header['token'] : ''; return $token; } //获取地址里的account shish 2019.11.24 public static function getAccount($url) { //前端链接,需要去掉链接#号前面部分进行解析 $pos = strpos($url, '#'); if (isset($pos)) { $url = substr($url, $pos + 1); } $parse = parse_url($url); $account = 0; if (isset($parse['query'])) { parse_str($parse['query'], $queryArray); if (isset($queryArray['account']) && !empty($queryArray['account'])) { $account = $queryArray['account']; } } return $account; } //获取平台id shish 2019.11.28 public static function getSourceId() { $ptSource = Yii::$app->params['ptSource']; $host = self::getHost(); if (empty($host)) { return 0; } $arr = parse_url($host); if (isset($arr['host']) == false || empty($arr['host'])) { return 0; } $pos = strpos($arr['host'], '.'); $ptName = substr($arr['host'], 0, $pos); return isset($ptSource[$ptName]) ? $ptSource[$ptName] : 0; } //判断是否微信浏览器 public static function isWx() { if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') == true) { return true; } return false; } //判断小程序 shish 2019.12.13 public static function isMiniProgram() { //根据头信息判断 $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($userAgent, 'miniprogram') !== false) { return true; } //根据来源判断 $referrer = Yii::$app->request->referrer; if (strpos($referrer, 'servicewechat.com') !== false) { return true; } return false; } //获取ip shish 2019.12.18 public static function ip() { return Yii::$app->request->userIP; } //变成https shish 2020.2.20 public static function becomeHttps($url) { $has = strpos($url, 'https'); if ($has !== false) { return $url; } return str_replace('http', 'https', $url); } }