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; }