PHP常見(jiàn)方法封裝總結(jié)
1.get請(qǐng)求
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請(qǐng)求
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.隨機(jī)字符串
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數(shù)據(jù)
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.數(shù)據(jù)過(guò)濾
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; }
到此這篇關(guān)于PHP常見(jiàn)方法封裝總結(jié)的文章就介紹到這了,更多相關(guān)PHP方法封裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
php和javascript之間變量的傳遞實(shí)現(xiàn)代碼
本文提供一種解決php和javascript之間變量的傳遞的方法,需要的朋友可以參考下2012-12-12PHP提取數(shù)據(jù)庫(kù)內(nèi)容中的圖片地址并循環(huán)輸出
PHP利用正則提取數(shù)據(jù)庫(kù)內(nèi)容中的圖片地址循環(huán)輸出的實(shí)現(xiàn)代碼。2010-03-03thinkphp項(xiàng)目部署到Linux服務(wù)器上報(bào)錯(cuò)“模板不存在”如何解決
一個(gè)項(xiàng)目部署到Linux服務(wù)器上去的時(shí)候,發(fā)現(xiàn)某些模板竟然會(huì)報(bào)錯(cuò)說(shuō)“模板不存在:/Application/Admin/....”,這篇文章就是介紹了thinkphp項(xiàng)目部署到Linux服務(wù)器上報(bào)錯(cuò)“模板不存在”的解決方法,感興趣的小伙伴們可以參考一下2016-04-04PHP中使用虛代理實(shí)現(xiàn)延遲加載技術(shù)
這篇文章主要介紹了PHP中使用虛代理實(shí)現(xiàn)延遲加載技術(shù),延遲加載是一種領(lǐng)域模型設(shè)計(jì)一種架構(gòu)模式,需要的朋友可以參考下2014-11-11PHP自定義函數(shù)獲取搜索引擎來(lái)源關(guān)鍵字的方法
這篇文章主要介紹了PHP自定義函數(shù)獲取搜索引擎來(lái)源關(guān)鍵字的方法,涉及php針對(duì)來(lái)路頁(yè)面URL的分析與判斷技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07