幾個比較有用的php內建函式

2021-08-20 20:55:15 字數 2122 閱讀 3272

**級別的小優化之一:優先使用php內建函式

以下幾個是可以用到內建函式的場景

1.filter_var函式

類似的還有**的驗證filter_var('',filter_validate_url);

2.prase_url函式

解析url 返回各個組成部分

<?php

$url = '';

print_r(parse_url($url));

echo parse_url($url, php_url_path);

?>

以上結果會輸出:

生成 url-encode 之後的請求字串

當我們過濾url傳遞過來的引數後,可以將這些引數以陣列的形式傳入http_build_query()來構建出query引數:

判斷乙個影象的型別

有時候我們會寫乙個自定義函式來判斷乙個的字尾,但是有些情況下,你修改了的字尾依然能用,但是的真正的字尾我們缺不知道了,該函式能夠獲取到資訊的真正的檔案型別。如下:

<?php

//去乙個png來實驗

$image='./1.png';

$type=exif_imagetype($image);

var_dump($type);

//結果返回3 表示png檔案型別

?>

此時將該檔案的字尾改為jpg,改仍然能正常使用,但是該函式返回的結果仍然是3,定義有以下常量,並代表了 

exif_imagetype()

可能的返回值:

該函式用於對判斷型別有較高要求的情況,另外getimagesize()函式返回的結果中的第三個引數跟exif_imagetype()返回的結果是一樣的,但是exif_imagetype()函式要快得多,所以推薦使用exif_imagetype()函式。

note:使用該函式必須開啟extension=php_exif.dll  拓展 而且必須在extension=php_mbstring.dll之後!否則會報錯:call to undefined function exif_imagetype()..

5.$_server

$_server

是乙個包含了諸如頭資訊(header)、路徑(path)、以及指令碼位置(script locations)等等資訊的陣列。

比較經常用到的有:

$_server['remote_addr

']:瀏覽當前頁面的使用者的 ip 位址。

:當前請求頭中 

host:

項的內容,如果存在的話。

$_server['server_addr

']:當前執行指令碼所在的伺服器的 ip 位址

。$_server['request_time_float']

:請求開始時的時間戳,微秒級別的精準度。 自 php 5.4.0 開始生效。

$_server[server_name']:當前執行指令碼所在的伺服器的主機名。如果指令碼執行於虛擬主機中,該名稱是由那個虛擬主機所設定的值決定。

note

: 在 apache 2 裡,必須設定 usecanonicalname = on 和 servername。 否則該值會由客戶端提供,就有可能被偽造。 上下文有安全性要求的環境裡,不應該依賴此值。

。。。其他比較經常用到的內建函式可以參考:

比較有用的庫函式

十進位制轉二進位制可以使用庫函式itoa。itoa函式原型 char itoa int value,char string,int radix 功能 將任意型別的數字轉換為字串。例 include include intmain 結果為1010 時間節省了很多 atoi 函式 atoi int at...

感覺比較有用的幾個emacs命令

1.在minibuffer 中執行乙個命令 m 然後輸入命令,emacs 會開啟乙個名為 shell command output 的buffer來輸出命令執行的結果。2.使用乙個buffer的region取代乙個檔案當做命令的輸入 先在乙個buffer中選乙個region。m h mark par...

感覺比較有用的幾個emacs命令

1.在minibuffer 中執行乙個命令 m 然後輸入命令,emacs 會開啟乙個名為 shell command output 的buffer來輸出命令執行的結果。2.使用乙個buffer的region取代乙個檔案當做命令的輸入 先在乙個buffer中選乙個region。m h mark par...