首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP 一些常用的公共小技巧方法整理

PHP 一些常用的公共小技巧方法整理

作者头像
泥豆芽儿 MT
发布2022-01-05 13:56:11
2960
发布2022-01-05 13:56:11
举报
  • 在此,整理一下平常工作中,常用的一些公共方法,方便后期开发使用
/**
 * 公用的方法  返回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';
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-07-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档