日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

好玩的php函数,几个实用的PHP函数

發布時間:2023/12/19 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 好玩的php函数,几个实用的PHP函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

* 獲取 post 或者 get 的值

* @param string $k

* @param string $default 默認返回值

* @return Ambigous NULL, unknown

*/

function v($k, $defalut = ”) {

return isset($_REQUEST[$k]) ? $_REQUEST[$k] : $defalut;

}

/**

* 獲取 get 的值

* @param string $k

* @param string $default 默認返回值

* @return Ambigous NULL, unknown

*/

function get($k, $defalut = ”) {

return isset($_GET[$k]) ? $_GET[$k] : $defalut;

}

/**

* 獲取 post 的值

* @param string $k

* @param string $default 默認返回值

* @return Ambigous NULL, unknown

*/

function post($k, $defalut = ”) {

return isset($_POST[$k]) ? $_POST[$k] : $defalut;

}

/**

* 模擬簡單的 post 請求

* @param ?string $url

* @param ?string $data 類型和 QUERY_STRING 相同,即由 & 連接的字符串 a=1&b=2

* @param ?array ?$header header數組

* @return all ? ?返回服務器返回的結果

*/

function post_data($url, $data = array(), $header = array()) {

$ch = curl_init($url);

ob_start();

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

curl_exec($ch);

$output = ob_get_contents();

ob_clean();

curl_close($ch);

return $output;

}

/**

* 將未知編碼的字符串轉換為期望的編碼(配置文件中設置的編碼)

*

* 不建議使用,盡量統一編碼,明確要轉碼的字符原來的編碼

* @deprecated

* @param string $str

* @param string $toEncoding

* @return string

*/

function convert_str($str, $toEncoding = null) {

//加此字符集列表數組,解決誤將 改變 2312 識別為 utf-8 的情況

$charset_list = array(

‘ascii’,

‘gb2312′,

‘gbk’,

‘utf-8′

);

$strEncoding ?= mb_detect_encoding($str, $charset_list);

//如果沒有提供要轉碼的類型,使用系統設置的編碼

if (!$toEncoding)

$toEncoding = CHARSET;

if (strtolower($strEncoding) != strtolower($toEncoding)) {

$str = iconv($strEncoding, $toEncoding, $str);

}

return $str;

}

/**

* 查看字符長度

* @param unknown_type $str

*/

function real_strlen($str) {

$charset = mb_detect_encoding($str);

return mb_strlen($str, $charset);

}

/**

* 獲得服務器端網址,即獲取當前網址

* @param boolean $with_query_string 是否附帶 query_string 部分

* @return Ambigous string, unknown

*/

function get_server_url($with_query_string = true) {

$url = ‘http://localhost’;

if (isset($_SERVER['HTTP_HOST'])) {

$url = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== ‘off’ ? ‘https’ : ‘http’;

$url .= ‘://’ . $_SERVER['HTTP_HOST'];

if ($with_query_string) {

$url .= $_SERVER['REQUEST_URI'];

} else {

$url .= $_SERVER['SCRIPT_NAME'];

}

}

return $url;

}

/**

* 獲取網址跟目錄

* @return string

*/

function get_server_root() {

$url = ‘http://localhost’;

if (isset($_SERVER['HTTP_HOST'])) {

$url = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== ‘off’ ? ‘https’ : ‘http’;

$url .= ‘://’ . $_SERVER['HTTP_HOST'];

$url .= dirname($_SERVER['SCRIPT_NAME']);

}

$url = rtrim($url, ‘/’) . ‘/’;

return $url;

}

/**

* 獲取客戶端 IP

*/

function get_ip() {

if (isset($_SERVER["HTTP_X_REAL_IP"])) {

$ip = $_SERVER["HTTP_X_REAL_IP"];

} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {

$ip = $_SERVER["HTTP_CLIENT_IP"];

} else if (isset($_SERVER["REMOTE_ADDR"])) {

$ip = $_SERVER["REMOTE_ADDR"];

} else {

$ip = “0.0.0.0″;

}

return $ip;

}

/**

* 判斷 ip 是否合法(僅限于IPV4)

* @param unknown_type $ip

*/

function is_valid_ip($ip) {

$preg ? ? ? = ‘/^(\d|\d{2}|1\d{2}|2[0-4]\d|25[0-5])\.(\d|\d{2}|1\d{2}|2[0-4]\d|25[0-5])\.(\d|\d{2}|1\d{2}|2[0-4]\d|25[0-5])\.(\d|\d{2}|1\d{2}|2[0-4]\d|25[0-5])$/’;

$is_matched = false;

if (preg_match($preg, $ip, $m)) {

$is_matched = true;

}

return $is_matched;

}

/**

* json 編碼

*

* 解決 json_encode() 不支持中文的情況

*

* @param array|object $data

* @return array|object

*/

function ch_json_encode($data) {

/**

* 將中文編碼

* @param array $data

* @return string

*/

function ch_urlencode($data) {

if (is_array($data) || is_object($data)) {

foreach ($data as $k = $v) {

if (is_scalar($v)) {

if (is_array($data)) {

$data[$k] = urlencode($v);

} else if (is_object($data)) {

$data-$k = urlencode($v);

}

} else if (is_array($data)) {

$data[$k] = ch_urlencode($v); //遞歸調用該函數

} else if (is_object($data)) {

$data-$k = ch_urlencode($v);

}

}

}

return $data;

}

$ret = ch_urlencode($data);

$ret = json_encode($ret);

return urldecode($ret);

}

/**

* 轉義特殊字符

*

* 書寫mysql語句時的可先對變量進行過濾

* 此函數會自動對字符串加引號

* @param unknown_type $value

* @return string

*/

function check_input($value) {

if (get_magic_quotes_gpc()) {

$value = stripslashes($value);

}

if (!is_numeric($value)) {

$value = “‘” . wphp_escape($value) . “‘”;

}

return $value;

}

/**

* 轉義函數,用來替代 mysql*_escape_* 函數

* @param unknown_type $str

*/

function wphp_escape($str) {

$search ?= array(

“\\“,

“\0“,

“\n“,

“\r“,

“\x1a“,

“‘”,

‘”‘

);

$replace = array(

“\\\\“,

“\\0″,

“\\n”,

“\\r”,

“\Z”,

“\’”,

‘\”‘

);

return str_replace($search, $replace, $str);

}

/**

* Ip 地址轉為數字地址

*

* php 的 ip2long 這個函數有問題

* 133.205.0.0 == 2244804608

* @param string $ip 要轉換的 ip 地址

* @return int ? ?轉換完成的數字

*/

function wphp_ip2long($ip) {

$ip_arr = explode(‘.’, $ip);

$iplong = (16777216 * intval($ip_arr[0])) + (65536 * intval($ip_arr[1])) + (256 * intval($ip_arr[2])) + intval($ip_arr[3]);

return $iplong;

}

/**

* 對字符串、對象、數組進行轉碼

*

* 和 iconv 參數使用方式相同

* @param string $in_charset

* @param string $out_charset

* @param array|string $data

* @return string|array

*/

function wphp_iconv($in_charset, $out_charset, $data) {

if (is_array($data) || is_object($data)) {

foreach ($data as $k = $v) {

if (is_scalar($v)) {

if (is_array($data)) {

$data[$k] = iconv($in_charset, $out_charset, $v);

} else if (is_object($data)) {

$data-$k = iconv($in_charset, $out_charset, $v);

}

} else if (is_array($data)) {

$data[$k] = wphp_iconv($in_charset, $out_charset, $v);

} else if (is_object($data)) {

$data-$k = wphp_iconv($in_charset, $out_charset, $v);

}

}

} else if (is_scalar($data)) {

$data = iconv($in_charset, $out_charset, $data);

}

return $data;

}

---------------------------------------------------------------------------------

總結

以上是生活随笔為你收集整理的好玩的php函数,几个实用的PHP函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。