//判断是否登录后台 function admin_status() { $admin_info = Session::get('admin_info'); if(empty($admin_info)){ return false; }else{ return true; } } //获取ip地址 function getIP() { 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; } // 根据ip获取地址 function get_address($ip) { $result = json_decode(file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip='.$ip.'&format=json')); $province = isset($result->province) ? $result->province : ''; $city = isset($result->city) ? $result->city : ''; return $province.$city; } //过滤敏感字符 function deletehtml($str) { $str = trim($str); //清除字符串两边的空格 $str = strip_tags($str); //利用php自带的函数清除html格式 // $str = preg_replace("/\t/", "", $str); //使用正则表达式匹配需要替换的内容,如:空格,换行,并将替换为空。 $str = preg_replace("/\r\n/", "", $str); $str = preg_replace("/\r/", "", $str); $str = preg_replace("/\n/", "", $str); $str = preg_replace("/ /", "", $str); $str = preg_replace("/ /", "", $str); //匹配html中的空格 $str = str_replace(" ", "", $str); $str = str_replace("·", "", $str); $str = str_replace("”", "", $str); $str = str_replace("“", "", $str); return trim($str); //返回字符串 } // 使用curl模拟请求 function http_curl($url, $method='GET', $data='') { $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer if($method=='POST'){ curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 if ($data != ''){ curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包 } } curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环 curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 $tmpInfo = curl_exec($curl); // 执行操作 curl_close($curl); // 关闭CURL会话 return $tmpInfo; // 返回数据 } //object转array function object2array($object) { if (is_object($object)) { foreach ($object as $key => $value) { $array[$key] = $value; } } else { $array = $object; } return $array; } //$file文件$type文件类型$size最大上传 function upload_file($file,$type,$size,$position='/static/home/images/') { // 移动到框架应用根目录/public/uploads/ 目录下 //$info = $file->validate(['size'=>$size,'ext'=>$type])->move($position); $position_file = ROOT_PATH.'/public'.$position; $info = $file->validate(['size'=>$size,'ext'=>$type])->rule('date')->move($position_file); if($info){ return str_replace('\\','/','ad_touxiang/'.$info->getSaveName()); } // 成功上传后 获取上传信息 // 输出 jpg //echo $info->getExtension(); // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg //return $info->getSaveName(); //输出 42a79759f284b767dfcb2a0197904287.jpg //return $position.'/'.$info->getSaveName(); else{ //return false; // 上传失败获取错误信息 echo $file->getError(); die(); } } //判断是不是手机访问 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 = array ('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 two_array_unique($arr, $key) { $tmp_arr = array(); foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) //搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true { unset($arr[$k]); //销毁一个变量 如果$tmp_arr中已存在相同的值就删除该值 } else { $tmp_arr[$k] = $v[$key]; //将不同的值放在该数组中保存 } } //ksort($arr); //ksort函数对数组进行排序(保留原键值key) sort为不保留key值 return $arr; } //**秒/分钟前 function formatTime($value) { if(time() - $value < 60) { return (time() - $value).'秒前'; } if(time() - $value > 60 && time() - $value < 3600) { return ceil((time() - $value)/60).'分钟前'; } if(time() - $value > 3600 && time() - $value < 86400) { return ceil((time() - $value)/3600).'小时前'; } if(time() - $value > 86400 && time() - $value < 172800) { return '1天前'; } return date('Y-m-d H:i:s', $value); } //thinkphp5 验证码重写 'captcha' => [ // 验证码字符集合 'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', // 验证码字体大小(px) 'fontSize' => 16, // 是否画混淆曲线 'useCurve' => false, // 验证码图片高度 'imageH' => 40, // 验证码图片宽度 'imageW' => 150, // 验证码位数 'length' => 4, // 验证成功后是否重置 'reset' => true ], /** * 隐藏手机号中间4位 * @param $phone * @return mixed */ function hidetel($phone){ $IsWhat = preg_match('/(0[0-9]{2,3}[-]?[2-9][0-9]{6,7}[-]?[0-9]?)/i',$phone); if($IsWhat == 1){ return preg_replace('/(0[0-9]{2,3}[-]?[2-9])[0-9]{3,4}([0-9]{3}[-]?[0-9]?)/i','$1****$2',$phone); }else{ return preg_replace('/(1[3587]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone); } }
宠物免费领养小程序,欢迎来踩