PHP常見方法封裝總結(jié)
更新時(shí)間:2022年05月26日 09:50:03 作者:PHP開源社區(qū)
這篇文章主要為大家介紹了PHP中常見的幾個(gè)方法封裝,文中的示例代碼講講詳細(xì),對我們學(xué)習(xí)或工作有一定的參考價(jià)值,感興趣的可以了解一下
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.隨機(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ù)過濾
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é)的文章就介紹到這了,更多相關(guān)PHP方法封裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP實(shí)現(xiàn)通過中文字符比率來判斷垃圾評論的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)通過中文字符比率來判斷垃圾評論的方法,是一個(gè)比較實(shí)用的技巧,對于進(jìn)行PHP應(yīng)用程序開發(fā)來說有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-10-10
PHP實(shí)現(xiàn)根據(jù)銀行卡號判斷銀行
公司業(yè)務(wù)需要用到根據(jù)銀行卡號查詢銀行卡的相關(guān)信息,如歸屬地,歸屬銀行,卡的種類等,仔細(xì)研究了一番,分享給大家2015-04-04
PHP MVC框架中類的自動(dòng)加載機(jī)制實(shí)例分析
這篇文章主要介紹了PHP MVC框架中類的自動(dòng)加載機(jī)制,結(jié)合實(shí)例形式分析了MVC框架中類的自動(dòng)加載機(jī)制原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-09-09
PHP實(shí)現(xiàn)仿Google分頁效果的分頁函數(shù)
這篇文章主要介紹了PHP實(shí)現(xiàn)仿Google分頁效果的分頁函數(shù),實(shí)例分析了php實(shí)現(xiàn)分頁的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
關(guān)于Sphinx創(chuàng)建全文檢索的索引介紹
本篇文章是對使用Sphinx創(chuàng)建全文檢索的索引進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php中json_decode()和json_encode()的使用方法
json_decode對JSON格式的字符串進(jìn)行編碼而json_encode對變量進(jìn)行 JSON 編碼,需要的朋友可以參考下2012-06-06

