阅读背景:

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

来源:互联网 
在此,整理一下平常工作中,常用的一些公共方法,方便后期开发使用 /** * 公用的方法 返回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'; } } php使用 curl 判断404 /** * php使用 curl 判断404 * @param string $url * @return bool */ function check_url($url = ''){ stream_context_set_default( array( 'http' => array( 'timeout' => 5, ) ) ); $header = get_headers($url,1); if(strpos($header[0],'200')){ return true; } if(strpos($header[0],'404')){ return false; } if (strpos($header[0],'301') || strpos($header[0],'302')) { if(is_array($header['Location'])) { $redirectUrl = $header['Location'][count($header['Location'])-1]; }else{ $redirectUrl = $header['Location']; } return check_url($redirectUrl); } } 在此,整理一下平常工作中,常用的一些公共方法,方便后期开发使用 /** * 公用的方法 返回js



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: