PHP常见方法封装总结
作者:PHP开源社区
这篇文章主要为大家介绍了PHP中常见的几个方法封装,文中的示例代码讲讲详细,对我们学习或工作有一定的参考价值,感兴趣的可以了解一下
1.get请求
function get_curl($url, $timeout = 5) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true ); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); $result = curl_exec( $ch ); curl_close($ch); return $result; }
2.post请求
function post_curl($url, $data, $timeout = 5) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true ); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); $result = curl_exec( $ch ); curl_close($ch); return $result; }
3.随机字符串
function random_str($len=10, $type=1){ switch($type){ case 2: $chars='0123456789'; break; case 3: $chars='abcdefghijklmnopqrstuvwxyz'; break; case 4: $chars='ABDEFGHIJKLMNOPQRSTUVWXYZ'; break; case 5: $chars='abcdefghijklmnopqrstuvwxyzABDEFGHIJKLMNOPQRSTUVWXYZ'; break; case 6: $chars='abcdefghijklmnopqrstuvwxyz0123456789'; break; default: $chars='abcdefghijklmnopqrstuvwxyzABDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; break; } $str = ''; for ( $i = 0; $i <$len; $i++ ){ $str .= $chars[ mt_rand(0, strlen($chars) - 1) ]; } return $str; }
4.返回json数据
function json_back($data, $is_exit = true) { $callback = $_GET['callback'] ?? ''; if ($callback) { echo '' . $callback . "(" . json_encode($data, JSON_UNESCAPED_UNICODE) . ")"; } else { echo json_encode($data, JSON_UNESCAPED_UNICODE); } if ($is_exit) exit(); }
5.数据过滤
function check_data($data){ if(is_array($data)){ foreach($data as $key => $v){ $data[$key] = $this->check_data($v); } }else{ $data = trim($data); $data = strip_tags($data); $data = htmlspecialchars($data); $data = addslashes($data); } return $data; }
6.重定向
function redirect($url = 'https://blog.csdn.net/weixin_41635750'){ if (!headers_sent()) { header("Location: {$url}"); exit(); }else{ $str = "<meta http-equiv='Refresh' content='0;URL={$url}'>"; exit($str); } }
7.获取客户端ip
function get_real_ip() { if(@$_SERVER["HTTP_ALI_CDN_REAL_IP"]){ $ip = $_SERVER["HTTP_ALI_CDN_REAL_IP"]; } elseif (@$_SERVER["HTTP_X_FORWARDED_FOR"] ?: false) { $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; $ips = explode(',', $ip); $ip = $ips[0]; } elseif (@$_SERVER["HTTP_CDN_SRC_IP"] ?: false) { $ip = $_SERVER["HTTP_CDN_SRC_IP"]; } elseif (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED')) { $ip = getenv('HTTP_X_FORWARDED'); } elseif (getenv('HTTP_FORWARDED_FOR')) { $ip = getenv('HTTP_FORWARDED_FOR'); } elseif (getenv('HTTP_FORWARDED')) { $ip = getenv('HTTP_FORWARDED'); } else { $ip = $_SERVER['REMOTE_ADDR']; } $ip = str_replace(array('::ffff:', '[', ']'), array('', '', ''), $ip); return $ip; }
到此这篇关于PHP常见方法封装总结的文章就介绍到这了,更多相关PHP方法封装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!