/**
* 公用的方法 返回json数据,进行信息的提示
* @param int $status 状态
* @param string $msg 提示信息
* @param array $data 返回数据
*/
function showMsg($status = 1,$msg = '',$data = array()){
$result = array(
'status' => $status,
'msg' =>$msg,
'data' =>$data
);
return exit(json_encode($result,JSON_UNESCAPED_UNICODE));
}
/**
* 判断一个数组中的元素是否全存在于另一个数组中
* @param $arr array 一维数组
* @param $allArr array 一维数组
* @return boolean
*/
function currArrExistsInOther($arr = [], $allArr = []){
if (!empty($arr) && !empty($allArr)) {
for ($i = 0; $i < count($arr); $i ++) {
if (!in_array($arr[$i], $allArr)) {
return false;
}
}
return true;
}else{
return false;
}
}
/**
* 用户二维码图片
* @param $user_id [用户id]
* @param $recommend[推荐码]
* @param $data[链接地址]
*/
//生成图片二维码 $data链接 $id user_id;
function code($url,$user_id,$recommend){
$user=M('users')->field('user_name')->where('user_id='.$user_id)->find();
$user_name=$user['user_name'];
$canshu="?r_ec=$recommend";
$url=$url.$canshu;
vendor("phpqrcode.phpqrcode");
// 纠错级别:L、M、Q、H
$level = 'H';
// 点的大小:1到10,用于手机端4就可以了
$size = 4;
// 下面注释了把二维码图片保存到本地的代码,如果要保存图片,用$fileName替换第二个参数false
$path = "Public/code/".date("ymd")."/";
if(!is_dir($path))
{
mkdir($path);
}
$fileName = $path.$user_name.'.png';
$data['code']=$fileName;
M('users')->where('user_id='.$user_id)->save($data);
ob_end_clean();//清空缓冲区
QRcode::png($url, $fileName, $level, $size,1);
}
function is_weixin(){
if(strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') === false ){
return false;
}else{
return ture;
}
}
//获取用户ip地址
function get_ip() {
static $ip;
if (isset($_SERVER)) {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} else {
$ip = getenv("REMOTE_ADDR");
}
}
if (preg_match('/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/', $ip)) {
return $ip;
} else {
return '127.0.0.1';
}
}