mysql_connect
定義和用法 mysql_connect() 函數打開非持久的 MySQL 連接。 語法
mysql_connect ( server
, user
, pwd
, newlink
, clientflag
)
參數 描述
server ( 1 ) 可選。規定要連接的服務器。
( 2 ) 可以包括端口號,例如
"hostname:port" ,或者到本地套接字的路徑,例如對于 localhost 的
":/path/to/socket" 。
( 3 ) 如果
PHP 指令 mysql
. default_host 未定義(默認情況),則默認值是
'localhost:3306' 。
user 可選。用戶名。默認值是服務器進程所有者的用戶名。
pwd 可選。密碼。默認值是空密碼。
newlink 可選。如果用同樣的參數第二次調用
mysql_connect ( ) ,將不會建立新連接,而將返回已經打開的連接標識。參數 new_link 改變此行為并使
mysql_connect ( ) 總是打開新的連接,甚至當
mysql_connect ( ) 曾在前面被用同樣的參數調用過。clientflag 可選。client_flags 參數可以是以下常量的組合:
MYSQL_CLIENT_SSL - 使用
SSL 加密
MYSQL_CLIENT_COMPRESS - 使用壓縮協議
MYSQL_CLIENT_IGNORE_SPACE - 允許函數名后的間隔
MYSQL_CLIENT_INTERACTIVE - 允許關閉連接之前的交互超時非活動時間
返回值 如果成功,則返回一個 MySQL 連接標識,失敗則返回 FALSE。 提示和注釋 注釋:腳本一結束,到服務器的連接就被關閉,除非之前已經明確調用 mysql_close() 關閉了。 提示:要創建一個持久連接,請使用 mysql_pconnect() 函數。 例:
<?php
$con = mysql_connect ( "localhost" , "mysql_user" , "mysql_pwd" ) ;
if ( ! $con ) { die ( 'Could not connect: ' . mysql_error ( ) ) ; } mysql_close ( $con ) ;
? >
mysql_error()
mysql_error ( connection
)
參數 描述
connection 可選。規定
SQL 連接標識符。如果未規定,則使用上一個打開的連接。
<?php
$con = mysql_connect ( "localhost" , "wrong_user" , "wrong_pwd" ) ;
if ( ! $con ) { die ( mysql_error ( ) ) ; }
mysql_close ( $con ) ;
? >
輸出類似:
Access denied
for user
'wrong_user' @
'localhost'
( using
password : YES )
mysql_query
mysql_query ( query
, connection
)
參數 描述
query 必需。規定要發送的
SQL 查詢。注釋:查詢字符串不應以分號結束。
connection 可選。規定
SQL 連接標識符。如果未規定,則使用上一個打開的連接。
說明 如果沒有打開的連接,本函數會嘗試無參數調用 mysql_connect()函數來建立一個連接并使用之。 返回值 mysql_query()僅對 SELECT,SHOW,EXPLAIN 或 DESCRIBE 語句返回一個資源標識符,如果查詢執行不正確則返回 FALSE。 對于其它類型的 SQL 語句,mysql_query()在執行成功時返回 TRUE,出錯時返回 FALSE。 非 FALSE 的返回值意味著查詢是合法的并能夠被服務器執行。這并不說明任何有關影響到的或返回的行數。很有可能一條查詢執行成功了但并未影響到或并未返回任何行。 提示和注釋 注釋:該函數自動對記錄集進行讀取和緩存。如需運行非緩存查詢,請使mysql_unbuffered_query() 例
<?php
$con = mysql_connect ( "localhost" , "mysql_user" , "mysql_pwd" ) ;
if ( ! $con ) { die ( 'Could not connect: ' . mysql_error ( ) ) ; } $sql = "SELECT * FROM Person" ;
mysql_query ( $sql , $con ) ; mysql_close ( $con ) ;
? >
mysql_close()
定義和用法 mysql_close() 函數關閉非持久的 MySQL 連接。 語法
mysql_close ( link_identifier
)
參數 描述
link_identifier 必需。MySQL 的連接標識符。如果沒有指定,默認使用最后被
mysql_connect ( ) 打開的連接。如果沒有找到該連接,函數會嘗試調用
mysql_connect ( ) 建立連接并使用它。如果發生意外,沒有找到連接或無法建立連接,系統發出
E_WARNING 級別的警告信息
說明 本函數關閉指定的連接標識所關聯的到 MySQL 服務器的非持久連接。如果沒有指定 link_identifier,則關閉上一個打開的連接。 返回值 如果成功則返回 true,失敗則返回 false。 提示和注釋 提示:通常不需要使用 mysql_close(),因為已打開的非持久連接會在腳本執行完畢后自動關閉。 注釋:mysql_close() 不會關閉由 mysql_pconnect() 建立的持久連接。
mysql_num_rows
mysql_num_rows ( data
)
參數 描述
data 必需。結果集。該結果集從
mysql_query ( ) 的調用中得到。
說明 mysql_num_rows()返回結果集中行的數目。此命令僅對SELECT語句有效。要取得被INSERT,UPDATE或者DELETE查詢所影響到的行的數目,用mysql_affected_rows()。類似你使用sqlmap時,輸出地一行行類似表格地數據,結果集中行地數目,應該就是這個
提示和注釋 注釋:如果使用 mysql_unbuffered_query(),則直到結果集中的所有行都被提取mysql_num_rows() 才能返回正確的值。
例
<?php
$con = mysql_connect ( "localhost" , "hello" , "321" ) ;
if ( ! $con ) { die ( 'Could not connect: ' . mysql_error ( ) ) ; } $db_selected = mysql_select_db ( "test_db" , $con ) ; $sql = "SELECT * FROM person" ;
$result = mysql_query ( $sql , $con ) ;
echo mysql_num_rows ( $result ) ; mysql_close ( $con ) ;
? >
輸出類似:
3
mysql_select_db
mysql_select_db ( database
, connection
)
參數 描述
database 必需。規定要選擇的數據庫。
connection 可選。規定 MySQL 連接。如果未指定,則使用上一個連接。
<?php
$con = mysql_connect ( "localhost" , "hello" , "321" ) ;
if ( ! $con ) { die ( 'Could not connect: ' . mysql_error ( ) ) ; } $db_selected = mysql_select_db ( "test_db" , $con ) ; if ( ! $db_selected ) { die ( "Can\'t use test_db : " . mysql_error ( ) ) ; } mysql_close ( $con ) ;
? >
mysql_result
mysql_result ( data
, row
, field
)
參數 描述
data 必需。規定要使用的結果標識符。該標識符是
mysql_query ( ) 函數返回的。
row 必需。規定行號。行號從
0 開始。
field 可選。規定獲取哪個字段。可以是字段偏移值,字段名或 table
. fieldname。
如果該參數未規定,則該函數從指定的行獲取第一個字段。
說明 當作用于很大的結果集時,應該考慮使用能夠取得整行的函數。這些函數在一次函數調用中返回了多個單元的內容,比 mysql_result() 快得多。 此外請注意,在字段參數中指定數字偏移量比指定字段名或者 tablename.fieldname 要快得多。 例
<?php
$con = mysql_connect ( "localhost" , "hello" , "321" ) ;
if ( ! $con ) { die ( 'Could not connect: ' . mysql_error ( ) ) ; } $db_selected = mysql_select_db ( "test_db" , $con ) ; $sql = "SELECT * from Person" ;
$result = mysql_query ( $sql , $con ) ; echo mysql_result ( $result , 0 ) ; mysql_close ( $con ) ; ? >
輸出類似:
Adams
mysql_real_escape_string
mysql_real_escape_string ( ) 函數轉義
SQL 語句中使用的字符串中的特殊字符。
下列字符受影響:
\x00
\n
\r
\
'
"
\x1a
如果成功,則該函數返回被轉義的字符串。如果失敗,則返回
false 。
mysql_real_escape_string ( string , connection
)
參數 描述
string 必需。規定要轉義的字符串。
connection 可選。規定 MySQL 連接。如果未規定,則使用上一個連接。
說明 本函數將 string 中的特殊字符轉義,并考慮到連接的當前字符集,因此可以安全用于 mysql_query()。 提示和注釋 提示:可使用本函數來預防數據庫攻擊。 例
<?php
$con = mysql_connect ( "localhost" , "hello" , "321" ) ;
if ( ! $con ) { die ( 'Could not connect: ' . mysql_error ( ) ) ; }
$user = mysql_real_escape_string ( $user ) ;
$pwd = mysql_real_escape_string ( $pwd ) ; $sql = "SELECT * FROM users WHERE
user='" . $user . "' AND password='" . $pwd . "'" mysql_close ( $con ) ;
? >
stripslashes
stripslashes ( string )
參數 描述
string 必需。規定要檢查的字符串。
技術細節 返回值: 返回已剝離反斜杠的字符串。 PHP 版本: 4+ 例
刪除反斜杠:
< ? php
echo stripslashes ( "Who\'s Bill Gates?" ) ;
? >
輸出:Who's Bill Gates
?
sleep
sleep ( seconds
)
參數 描述
seconds 必需。以秒計的暫停時間。
<?php
echo date ( 'h:i:s' ) . "<br />" ;
sleep ( 10 ) ;
echo date ( 'h:i:s' ) ; ? >
輸出:
12 : 00 : 08
12 : 00 : 18
stristr(注,該函數不區分大小寫,strstr和這個函數用法一樣,區分大小寫)
stristr ( string , search
, before_search
)
參數 描述
string 必需。規定被搜索的字符串。
search 必需。規定要搜索的字符串。如果該參數是數字,則搜索匹配該數字對應的
ASCII 值的字符。
before_search 可選。默認值為
"false" 的布爾值。如果設置為
"true" ,它將返回search參數第一次出現之前的字符串部分,布爾值為
true 時,返回不包括匹配到的字符串
技術細節 返回值: 返回字符串的剩余部分(從匹配點)。如果未找到所搜索的字符串,則返回 FALSE。 PHP 版本: 4+ 更新日志: 在 PHP 5.3 中,新增了 before_search 參數。 在 PHP 4.3 中,該函數變成是二進制安全的。 例
<?php
echo stristr ( "Hello world!" , "WORLD" ) ;
? >
輸出:world
! < ? php
echo stristr ( "Hello 1stPeak" , "peak" , true ) ;
? >
輸出:Hello
1 st
php_uname
php_uname ( $mode )
mode 是單個字符,用于定義要返回什么信息:
‘a’:此為默認。包含序列 “s n r v m” 里的所有模式。
’s’:操作系統名稱。例如: FreeBSD。
‘n’:主機名。例如: localhost
. example
. com。
‘r’:版本名稱,例如:
5.1 .2 - RELEASE 。
‘v’:版本信息。操作系統之間有很大的不同。
‘m’:機器類型。例如:i386。
shell_exec
shell_exec ( ) 函數是
PHP 中的一個內置函數,用于通過shell執行命令并以字符串的形式返回完整的輸出。如果命令失敗,則返回
NULL 。
exec ( ) 函數是
PHP 中的內置函數,用于執行外部程序并返回輸出的最后一行。如果沒有正確運行命令,它也返回
NULL 。
str_replace
定義和用法 str_replace() 函數替換字符串中的一些字符(區分大小寫)。 該函數必須遵循下列規則: 如果搜索的字符串是一個數組,那么它將返回一個數組。 如果搜索的字符串是一個數組,那么它將對數組中的每個元素進行查找和替換。 如果同時需要對某個數組進行查找和替換,并且replace的值少于查找到的元素的數量,那么多余的元素將用空字符串進行替換。 如果是對一個數組進行查找,但只對一個字符串進行替換,那么替代字符串將對所有查找到的值起作用。 注釋:該函數是區分大小寫的。請使用 str_ireplace() 函數執行不區分大小寫的搜索。 注釋:該函數是二進制安全的。 語法
str_replace ( find
, replace
, string , count
)
參數 描述
find 必需。規定要查找的值。
replace 必需。規定替換 find 中的值的值。
string 必需。規定被搜索的字符串。
count 可選。一個變量,對替換數進行計數。
技術細節 返回值: 返回帶有替換值的字符串或數組。 PHP 版本: 4+ 更新日志: 在 PHP 5.0 中,新增了 count 參數。 在 PHP 4.3.3 之前,該函數的 find 和 replace 參數都為數組時將會遇到麻煩,會引起空的 find 索引在內部指針沒有更換到 replace 數組上時被忽略。新的版本不會有這個問題。 自 PHP 4.0.5 起,大多數參數可以是一個數組。 例
replace的值少于查找到的元素用空格替代:
< ? php
$find = array ( "Hello" , "world" ) ;
$replace = array ( "B" ) ;
$arr = array ( "Hello" , "world" , "!" ) ;
print_r ( str_replace ( $find , $replace , $arr ) ) ;
? >
輸出:
Array ( [ 0 ] => B [ 1 ] => [ 2 ] => ! )
array_keys
array_keys ( array , value
, strict
)
參數 描述
array 必需。規定數組。
value 可選。您可以指定鍵值,然后只有該鍵值對應的鍵名會被返回。
strict 可選。與 value 參數一起使用。可能的值:
true - 返回帶有指定鍵值的鍵名。依賴類型,數字
5 與字符串
"5" 是不同的。
false - 默認值。不依賴類型,數字
5 與字符串
"5" 是相同的。
技術細節 返回值: 返回包含數組中所有鍵名的一個新數組。 PHP 版本: 4+ 更新日志: strict 參數是在 PHP 5.0 中新增的。 例
返回包含數組中所有鍵名的一個新數組:
< ? php
$a = array ( "Volvo" => "XC90" , "BMW" => "X5" , "Toyota" => "Highlander" ) ;
print_r ( array_keys ( $a ) ) ;
? >
輸出:
Array ( [ 0 ] => Volvo
[ 1 ] => BMW [ 2 ] => Toyota
) 使用 value 參數:
< ? php
$a = array ( "Volvo" => "XC90" , "BMW" => "X5" , "Toyota" => "Highlander" ) ;
print_r ( array_keys ( $a , "Highlander" ) ) ;
? >
輸出:
Array ( [ 0 ] => Toyota
)
trim
trim ( string , charlist
)
參數 描述
string 必需。規定要檢查的字符串。
charlist 可選。規定從字符串中刪除哪些字符。如果省略該參數,則移除下列所有字符:
"\0" - NULL
"\t" - 制表符
"\n" - 換行
"\x0B" - 垂直制表符
"\r" - 回車
" " - 空格
技術細節 返回值: 返回已修改的字符串。 PHP 版本: 4+ 更新日志: 在 PHP 4.1 中,新增了 charlist 參數。 例
移除字符串左側的字符(
"Hello" 中的
"He" 以及
"World" 中的
"d!" ):
< ? php
$str = "Hello World!" ;
echo $str . "<br>" ;
echo trim ( $str , "Hed!" ) ;
? >
輸出:
Hello World
!
llo Worl
explode
explode ( separator
, string , limit
)
參數 描述
separator 必需。規定在哪里分割字符串。
string 必需。要分割的字符串。
limit 可選。規定所返回的數組元素的數目。可能的值:大于
0 - 返回包含最多 limit 個元素的數組小于
0 - 返回包含除了最后的
- limit 個元素以外的所有元素的數組
0 - 返回包含一個元素的數組
技術細節 返回值: 返回字符串的數組 PHP 版本: 4+ 更新日志: 在 PHP 4.0.1 中,新增了 limit 參數。在 PHP 5.1.0 中,新增了對負數 limit 的支持。 例
把字符串打散為數組:
< ? php
$str = "Hello world. I love Shanghai!" ;
print_r ( explode ( " " , $str ) ) ;
? >
輸出:
Array ( [ 0 ] => Hello
[ 1 ] => world
. [ 2 ] => I [ 3 ] => love
[ 4 ] => Shanghai
! )
is_numeric
is_numeric() 函數用于檢測變量是否為數字或數字字符串。 PHP 版本要求:PHP 4, PHP 5, PHP 7 語法
bool is_numeric ( mixed $var )
參數說明:
$var :要檢測的變量。
返回值 如果指定的變量是數字和數字字符串則返回 TRUE,否則返回 FALSE。
sizeof
sizeof ( array , mode
) ;
參數 描述
array 必需。規定數組。
mode 可選。規定模式。可能的值:
0 - 默認。不計數多維數組中的所有元素。
1 - 遞歸地計數數組中元素的數目(計算多維數組中的所有元素)。
技術細節 返回值: 返回數組中元素的數目。 PHP 版本: 4+ 例
返回數組中元素的數目:
< ? php
$cars = array ( "Volvo" , "BMW" , "Toyota" ) ;
echo sizeof ( $cars ) ;
? >
輸出:
3
isset
(PHP 4, PHP 5, PHP 7) isset — 檢測變量是否已設置并且非 NULL 說明
isset ( $va , $
... )
檢測變量是否設置,并且不是
NULL 。
如果已經使用
unset ( ) 釋放了一個變量之后,它將不再是
isset ( ) 。若使用
isset ( ) 測試
一個被設置成
NULL 的變量,將返回
FALSE 。同時要注意的是
null 字符(
"\0" )并不等同于
PHP 的
NULL 常量。
如果一次傳入多個參數,那么
isset ( ) 只有在全部參數都以被設置時返回
TRUE 計算過程從
左至右,中途遇到沒有設置的變量時就會立即停止。
參數
$var 要檢查的變量。
$
... 其他變量。
返回值 如果 var 存在并且值不是 NULL 則返回 TRUE,否則返回 FALSE。 更新日志 版本 說明 5.4.0 檢查字符的非數字偏移量將會返回 FALSE。 例
<?php
$a = 1 ;
var_dump ( isset ( $a ) ) ;
$b = null ;
var_dump ( isset ( $b ) ) ;
$c ;
var_dump ( isset ( $c ) ) ;
? >
輸出:
bool ( true ) bool ( false ) bool ( false )
die(exit相同用法)
定義和用法 die() 函數輸出一條消息,并退出當前腳本。 該函數是 exit() 函數的別名。 語法
die ( status
)
參數 描述
status 必需。規定在退出腳本之前寫入的消息或狀態號。狀態號不會被寫入輸出。
說明 如果 status 是字符串,則該函數會在退出前輸出字符串。 如果 status 是整數,這個值會被用作退出狀態。退出狀態的值在0至254之間。退出狀態255 由 PHP 保留,不會被使用。狀態 0 用于成功地終止程序。
提示和注釋 注釋:如果 PHP 的版本號大于等于 4.2.0,那么在 status 是整數的情況下,不會輸出該參數。 or die:or前面的語句執行返回true,就不執行or后面的;or前面返回false,就執行or后面的語句,因為die以執行就結束整個腳本的運行,所以常常用來調試。
eregi(ereg)
eregi ( $pattern , $string )
可選的輸入參數規則包含一個數組的所有匹配表達式
, 他們被正則表達式的括號分組。
返回值 如果匹配成功返回true,否則,則返回false 本函數和 ereg() 完全相同,只除了在匹配字母字符時忽略大小寫的區別。 例
<?php
$string = 'XYZ' ; if ( eregi ( 'z' , $string ) ) { echo "'$string ' contains a 'z' or 'Z'!" ;
}
else
echo "No matching"
? >
輸出:
'XYZ' contains a
'z' or 'Z' !
basename
basename ( path
, suffix
)
參數 描述
path 必需。規定要檢查的路徑。
suffix 可選。規定文件擴展名。如果文件有 suffix,則不會輸出這個擴展名。
<?php
$path = "/testweb/home.php" ;
echo basename ( $path ) ;
echo basename ( $path , ".php" ) ;
? >
輸出:
home
. php
home
move_uploaded_file
定義和用法 move_uploaded_file() 函數將上傳的文件移動到新位置。 若成功,則返回 true,否則返回 false。 語法
move_uploaded_file ( file
, newloc
)
參數 描述
file 必需。規定要移動的文件。
newloc 必需。規定文件的新位置。
說明 本函數檢查并確保由 file 指定的文件是合法的上傳文件(即通過 PHP 的 HTTP POST 上傳機制所上傳的)。如果文件合法,則將其移動為由 newloc 指定的文件。 如果 file 不是合法的上傳文件,不會出現任何操作,move_uploaded_file() 將返回 false。 如果 file 是合法的上傳文件,但出于某些原因無法移動,不會出現任何操作,move_uploaded_file() 將返回 false,此外還會發出一條警告。 這種檢查顯得格外重要,如果上傳的文件有可能會造成對用戶或本系統的其他用戶顯示其內容的話。 提示和注釋 注釋:本函數僅用于通過 HTTP POST 上傳的文件。 注意:如果目標文件已經存在,將會被覆蓋。
substr
定義和用法 substr() 函數返回字符串的一部分。 注釋:如果 start 參數是負數且 length 小于或等于 start,則 length 為 0。 語法
substr ( string , start
, length
)
參數 描述
string 必需。規定要返回其中一部分的字符串。
start 必需。規定在字符串的何處開始。正數
- 在字符串的指定位置開始負數
- 在從字符串結尾開始的指定位置開始
0 - 在字符串中的第一個字符處開始
length 可選。規定被返回字符串的長度。默認是直到字符串的結尾。正數
- 從 start 參數所在的位置返回的長度負數
- 從字符串末端返回的長度
技術細節 返回值: 返回字符串的提取部分,若失敗則返回 FALSE,或者返回一個空字符串。 PHP 版本: 4+ 更新日志: 在 PHP 5.2.2 到 5.2.6 版本中,如果 start 參數表示負截斷或者越界位置,則返回 FALSE。 其他版本則從 start 位置開始獲取字符串。 例
從字符串中返回
"world" :
< ? php
echo substr ( "Hello world" , 6 ) ;
? >
輸出:world
strrpos
定義和用法 strrpos() 函數查找字符串在另一字符串中最后一次出現的位置。 注釋:strrpos() 函數對大小寫敏感。 相關函數: stripos() - 查找字符串在另一字符串中第一次出現的位置(不區分大小寫) strpos() - 查找字符串在另一字符串中第一次出現的位置(區分大小寫) strripos() - 查找字符串在另一字符串中最后一次出現的位置(不區分大小寫) 語法
strrpos ( string , find
, start
)
參數 描述
string 必需。規定被搜索的字符串。
find 必需。規定要查找的字符。
start 可選。規定在何處開始搜索。
技術細節 返回值: 返回字符串在另一字符串中最后一次出現的位置,如果沒有找到字符串則返回 FALSE。 注釋: 字符串位置從 0 開始,不是從 1 開始。 PHP 版本: 4+ 更新日志: 自 PHP 5.0 起,find 參數可以是包含超過一個字符的字符串。 在 PHP 5.0 中,新增了 start 參數。 例
查找
"php" 在字符串中最后一次出現的位置:
< ? php
echo strrpos ( "You love php, I love php too!" , "php" ) ;
? >
輸出:
21
strtolower
定義和用法 strtolower() 函數把字符串轉換為小寫。 注釋:該函數是二進制安全的。 相關函數: lcfirst() - 把字符串中的首字符轉換為小寫 strtoupper() - 把字符串轉換為大寫 ucfirst() - 把字符串中的首字符轉換為大寫 ucwords() - 把字符串中每個單詞的首字符轉換為大寫 語法
strtolower ( string )
參數 描述
string 必需。規定要轉換的字符串。
技術細節 返回值: 返回轉換為小寫的字符串。 PHP 版本: 4+ 例
把所有字符轉換為小寫:
< ? php
echo strtolower ( "Hello WORLD." ) ;
? >
輸出:hello world
.
getimagesize
getimagesize() 函數用于獲取圖像大小及相關信息,成功返回一個數組,失敗則返回 FALSE 并產生一條 E_WARNING 級的錯誤信息。 語法格式: a
rray
getimagesize ( string $filename [ , array & $imageinfo ] )
getimagesize ( ) 函數將測定任何
GIF ,
JPG ,
PNG ,
SWF ,
SWC ,
PSD ,
TIFF ,
BMP ,
IFF ,
JP2
,
JPX ,
JB2 ,
JPC ,
XBM 或
WBMP 圖像文件的大小并返回圖像的尺寸以及文件類型及圖片高度與寬度。
返回結果說明 (1)索引 0 給出的是圖像寬度的像素值 (2)索引 1 給出的是圖像高度的像素值 (3)索引 2 給出的是圖像的類型,返回的是數字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM (4)索引 3 給出的是一個寬度和高度的字符串,可以直接用于 HTML 的 標簽 (5)索引 bits 給出的是圖像的每種顏色的位數,二進制格式 (6)索引 channels 給出的是圖像的通道值,RGB 圖像默認是 3 (7)索引 mime 給出的是圖像的 MIME 信息,此信息可以用來在 HTTP Content-type 頭信息中發送正確的信息,如: header(“Content-type: image/jpeg”); 例
遠程圖片文件
< ? php
$remote_png_url = 'http://www.runoob.com/wp-content/themes/w3cschool.cc/assets/img/logo-domain-green2.png' ;
$img_data = getimagesize ( $remote_png_url ) ;
print_r ( $img_data ) ;
? >
以上實例輸出結果為:
Array
( [ 0 ] => 290 [ 1 ] => 69 [ 2 ] => 3 [ 3 ] => width
= "290" height
= "69" [ bits
] => 8 [ mime
] => image
/ png
)
ini_get
(PHP 4, PHP 5, PHP 7) ini_get — 獲取一個配置選項的值 說明
ini_get ( string $varname ) : string
成功時返回配置選項的值。
參數
varname 配置選項名稱。
返回值 成功是返回配置選項值的字符串,值為null或配置選項不存在,將會返回 FALSE。 例
<?php
echo 'display_errors = ' . ini_get ( 'display_errors' ) . "\n" ;
echo 'register_globals = ' . ini_get ( 'register_globals' ) . "\n" ;
echo 'post_max_size = ' . ini_get ( 'post_max_size' ) . "\n" ;
echo 'post_max_size+1 = ' . ( ini_get ( 'post_max_size' ) + 1 ) . "\n" ;
echo 'post_max_size in bytes = ' . return_bytes ( ini_get ( 'post_max_size' ) ) ; function return_bytes ( $val ) { $val = trim ( $val ) ; $last = strtolower ( $val [ strlen ( $val ) - 1 ] ) ; switch ( $last ) { case 'g' : $val *= 1024 ; case 'm' : $val *= 1024 ; case 'k' : $val *= 1024 ; } return $val ;
} ? >
以上例程的輸出類似于:
display_errors
= 1
register_globals
= 0
post_max_size
= 8 M
post_max_size
+ 1 = 9
post_max_size in bytes
= 8388608
sys_get_temp_dir
(PHP 5 >= 5.2.1, PHP 7) sys_get_temp_dir — 返回用于臨時文件的目錄 說明
sys_get_temp_dir ( void ) : string
返回
PHP 儲存臨時文件的默認目錄的路徑。
<?php
$temp_file = tempnam ( sys_get_temp_dir ( ) , 'Tux' ) ; echo $temp_file ;
? >
以上例程的輸出類似于:
C : \Windows\Temp\TuxA318
. tmp
temnam
定義和用法 tempnam() 函數創建一個具有唯一文件名的臨時文件。 若成功,則該函數返回新的臨時文件名。若失敗,則返回 false。 語法
tempnam ( dir
, prefix
)
參數 描述
dir 必需。規定創建臨時文件的目錄。
prefix 必需。規定文件名的開頭。
說明 在指定目錄中建立一個具有唯一文件名的文件。如果該目錄不存在,tempnam() 會在系統臨時目錄中生成一個文件,并返回其文件名。 在 PHP 4.0.6 之前,tempnam() 函數的行為取決于系統。在 Windows 下 TMP 環境變量會越過 dir 參數,在 Linux 下 TMPDIR 環境變量優先,而在 SVR4 下總是使用 dir 參數,如果其指向的目錄存在的話。 提示和注釋 注釋:如果 PHP 不能在指定的 dir 參數中創建文件,則退回到系統默認值。 注釋:本函數的行為在 4.0.3 版中改變了。也會建立一個臨時文件以避免競爭情形,即有可能會在產生出作為文件名的字符串與腳本真正建立該文件之間會在文件系統中存在同名文件。注意,如果不再需要該文件則要刪除此文件,不會自動刪除的。 例
<?php
echo tempnam ( "C:\inetpub\testweb" , "TMP0" ) ;
? >
輸出:
C : \inetpub\testweb\
TMP0 . tmp
imagecreatefromjpeg
(PHP 4, PHP 5, PHP 7) imagecreatefromjpeg — 由文件或 URL 創建一個新圖象。 說明
imagecreatefromjpeg ( string $filename ) : resource
imagecreatefromjpeg ( ) 返回一圖像標識符,代表了從給定的文件名取得的圖像。Tip
如已啟用fopen 包裝器,在此函數中,
URL 可作為文件名。關于如何指定文件名詳見
fopen ( ) 。各種 wapper 的不同功能請參見 支持的協議和封裝協議,注意其用法及其可提供的預定義變量。
參數
filename
JPEG 圖像的路徑。返回值
成功后返回圖象資源
, 失敗后返回
FALSE 。
imagedestroy
(PHP 4, PHP 5, PHP 7) imagedestroy — 銷毀一圖像 說明
imagedestroy ( resource $image ) : bool
imagedestroy ( ) 釋放與 image 關聯的內存。image 是由圖像創建函數返回的圖像標識符,例如
imagecreatetruecolor ( ) 。
rename
定義和用法 rename() 函數重命名文件或目錄。 若成功,則該函數返回 true。若失敗,則返回 false。 語法
rename ( oldname
, newname
, context
)
參數 描述
oldname 必需。規定要重命名的文件或目錄。
newname 必需。規定文件或目錄的新名稱。
context 可選。規定文件句柄的環境。context 是可修改流的行為的一套選項。
提示和注釋 注釋:在 PHP 4.3.3 之前,rename() 不能在基于 *nix 的系統中跨磁盤分區重命名文件。 注釋:用于 oldname 中的封裝協議必須和用于 newname 中的相匹配。 注釋:對 context 的支持是 PHP 5.0.0 添加的。 例
<?php
rename ( "images" , "pictures" ) ;
? >
getcwd
定義和用法 getchwd() 函數返回當前工作目錄。 例 獲取當前工作目錄:
<?php
echo getcwd ( )
? >
結果: /home/php
file_exists
file_exists ( path
)
參數 描述
path 必需。規定要檢查的路徑。
<?php
echo file_exists ( "test.txt" ) ;
? >
輸出:
1
unlink
unlink ( filename
, context
)
參數 描述
filename 必需。規定要刪除的文件。
context 可選。規定文件句柄的環境。Context 是可修改流的行為的一套選項。
提示和注釋 注釋:對 context 的支持是 PHP 5.0.0 添加的。 例
<?php
$file = "test.txt" ;
if ( ! unlink ( $file ) ) { echo ( "Error deleting $file " ) ; }
else { echo ( "Deleted $file " ) ; }
? >
header
定義和用法 header() 函數向客戶端發送原始的 HTTP 報頭。 認識到一點很重要,即必須在任何實際的輸出被發送之前調用 header() 函數(在 PHP 4 以及更高的版本中,您可以使用輸出緩存來解決此問題):
< html
>
< ? php
header ( 'Location: http://www.example.com/' ) ;
? >
header ( string , replace
, http_response_code
)
參數 描述
string 必需。規定要發送的報頭字符串。
replace 可選。指示該報頭是否替換之前的報頭,或添加第二個報頭。默認是
true (替換)。
false (允許相同類型的多個報頭)。
http_response_code 可選。把
HTTP 響應代碼強制為指定的值。(
PHP 4 以及更高版本可用)
提示和注釋 注釋:從 PHP 4.4 之后,該函數防止一次發送多個報頭。這是對頭部注入攻擊的保護措施。 例
<?php
header ( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ) ;
header ( "Cache-Control: no-cache" ) ;
header ( "Pragma: no-cache" ) ;
? > < html
>
< body
> ...
...
注釋:用戶可能會設置一些選項來更改瀏覽器的默認緩存設置。通過發送上面的報頭,您可以覆蓋任何這些設置,強制瀏覽器不進行緩存!
rand
rand ( min
, max
)
參數 描述
min
, max 可選。規定隨機數產生的范圍。說明
如果沒有提供可選參數 min 和 max,
rand ( ) 返回
0 到
RAND_MAX 之間的偽隨機整數。例如,想要
5 到
15 (包括
5 和
15 )之間的隨機數,用
rand ( 5 , 15 ) 。
提示和注釋 注釋:在某些平臺下(例如 Windows)RAND_MAX 只有 32768。如果需要的范圍大于 32768,那么指定 min 和 max 參數就可以生成大于 RAND_MAX 的數了,或者考慮用 mt_rand() 來替代它。 注釋:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函數給隨機數發生器播種,現在已自動完成。 注釋:在 3.0.7 之前的版本中,max 的含義是 range 。要在這些版本中得到和上例相同 5 到 15 的隨機數,簡短的例子是 rand (5, 11)。 例
本例會返回一些隨機數:
< ? php
echo ( rand ( ) ;
echo ( rand ( ) ;
echo ( rand ( 10 , 100 ) )
? >
輸出:
17757
3794
97
intval
int intval ( mixed $var [ , int $base = 10 ] )
參數說明:
$var :要轉換成 integer 的數量值。
$base :轉化所使用的進制。
如果 base 是
0 ,通過檢測
var 的格式來決定使用的進制:
如果字符串包括了
"0x" ( 或
"0X" ) 的前綴,使用
16 進制
( hex
) ;否則,
如果字符串以
"0" 開始,使用
8 進制
( octal
) ;否則,
將使用
10 進制
( decimal
) 。
注:比如將
042 以
8 進制進行轉換時,
0 表示使用
8 進制進行轉換,然后需要轉換的數值為
42 ,所以
42 以
8 進制轉換,最后的
10 進制數值為
34 ,要知道,這里所有以進制轉換的,最后結果都是
10 進制數
返回值 成功時返回 var 的 integer 值,失敗時返回 0。 空的 array 返回 0,非空的 array 返回 1。 最大的值取決于操作系統。 32 位系統最大帶符號的 integer 范圍是 -2147483648 到 2147483647。舉例,在這樣的系統上, intval(‘1000000000000’) 會返回 2147483647。64 位系統上,最大帶符號的 integer 值是 9223372036854775807。 字符串有可能返回 0,雖然取決于字符串最左側的字符。 例
<?php
echo intval ( 42 ) ;
echo intval ( 4.2 ) ;
echo intval ( '42' ) ;
echo intval ( '+42' ) ;
echo intval ( '-42' ) ;
echo intval ( 042 ) ;
echo intval ( '042' ) ;
echo intval ( 1e10 ) ;
echo intval ( '1e10' ) ;
echo intval ( 0x1A ) ;
echo intval ( 42000000 ) ;
echo intval ( 420000000000000000000 ) ;
echo intval ( '420000000000000000000' ) ;
echo intval ( 42 , 8 ) ;
echo intval ( '42' , 8 ) ;
echo intval ( array ( ) ) ;
echo intval ( array ( 'foo' , 'bar' ) ) ;
? >
extract
extract ( array , extract_rules
, prefix
)
參數 描述
array 必需。規定要使用的數組。
extract_rules 可選。
extract ( ) 函數將檢查每個鍵名是否為合法的變量名,同時也檢查和符號表中已存在的變量名是否沖突。對不合法和沖突的鍵名的處理將根據此參數決定。可能的值:
EXTR_OVERWRITE - 默認。如果有沖突,則覆蓋已有的變量。
EXTR_SKIP - 如果有沖突,不覆蓋已有的變量。
EXTR_PREFIX_SAME - 如果有沖突,在變量名前加上前綴 prefix。
EXTR_PREFIX_ALL - 給所有變量名加上前綴 prefix。
EXTR_PREFIX_INVALID - 僅在不合法或數字變量名前加上前綴 prefix。
EXTR_IF_EXISTS - 僅在當前符號表中已有同名變量時,覆蓋它們的值。其它的都不處理。
EXTR_PREFIX_IF_EXISTS - 僅在當前符號表中已有同名變量時,建立附加了前綴的變量名,其它的都不處理。
EXTR_REFS - 將變量作為引用提取。導入的變量仍然引用了數組參數的值。
prefix
可選。請注意 prefix 僅在 extract_type 的值是
EXTR_PREFIX_SAME ,
EXTR_PREFIX_ALL ,
EXTR_PREFIX_INVALID 或
EXTR_PREFIX_IF_EXISTS 時需要。如果附加了前綴后的結果不是合法的變量名,將不會導入到符號表中。
前綴和數組鍵名之間會自動加上一個下劃線。
技術細節 返回值: 返回成功導入到符號表中的變量數目。 PHP 版本: 4+ 更新日志: extract_rules 的值 EXTR_REFS 是在 PHP 4.3 中新增的。 extract_rules 的值 EXTR_IF_EXISTS 和 EXTR_PREFIX_IF_EXISTS 是在 PHP 4.2 中新增的。 自 PHP 4.0.5 起,該函數返回成功導入到符號表中的變量數目。 extract_rules 的值 EXTR_PREFIX_INVALID 是在 PHP 4.0.5 中新增的。 自 PHP 4.0.5 起,extract_rules 的值 EXTR_PREFIX_ALL 也包含數字變量。 例
將鍵值
"Cat" 、
"Dog" 和
"Horse" 賦值給變量
$a 、
$b 和
$c :
< ? php
$a = "Original" ;
$my_array = array ( "a" => "Cat" , "b" => "Dog" , "c" => "Horse" ) ;
extract ( $my_array ) ;
echo "\$a = $a ; \$b = $b ; \$c = $c " ;
? >
輸出:
$a = Cat
; $b = Dog
; $c = Horse
return
立即終止
return 所在函數的代碼,繼續執行該
return 函數外的代碼
strcmp
弱類型:傳入數組時會返回null int strcmp ( string $str1 , string $str2 )
參數 str1第一個字符串。str2第二個字符串。
如果 str1 小于 str2 返回
< 0 ; 如果 str1 大于 str2 返回
> 0 ;如果兩者相等,返回
0 。
strcmp()函數期望傳入到它當中的數據是字符串類型,但是如果我們傳入不合法的字符串類型的數據,這個函數將會有怎么樣的行為呢?實際上,當這個函數接受到了不合法的字符串類型時,這個函數將發生錯誤,但是在5.3之前的php中,顯示了報錯的警告信息后,將return 0 !!! 也就是雖然報了錯,但卻返回0。php官方在后面的版本中修復了這個漏洞,使得報錯的時候函數不返回任何值。
htmlentities
htmlentities ( string , flags
, character
- set
, double_encode
)
參數 描述
string 必需。規定要轉換的字符串。
flags 可選。規定如何處理引號、無效的編碼以及使用哪種文檔類型。可用的引號類型:
ENT_COMPAT - 默認。僅編碼雙引號。
ENT_QUOTES - 編碼雙引號和單引號。
ENT_NOQUOTES - 不編碼任何引號。無效的編碼:
ENT_IGNORE - 忽略無效的編碼,而不是讓函數返回一個空的字符串。應盡量避免,因為這可能對安全性有影響。
ENT_SUBSTITUTE - 把無效的編碼替代成一個指定的帶有 Unicode 替代字符
U + FFFD (
UTF - 8 )或者
& ENT_DISALLOWED - 把指定文檔類型中的無效代碼點替代成 Unicode 替代字符
U + FFFD (
UTF - 8 )或者
& 規定使用的文檔類型的附加 flags:
ENT_HTML401 - 默認。作為
HTML 4.01 處理代碼。
ENT_HTML5 - 作為
HTML 5 處理代碼。
ENT_XML1 - 作為
XML 1 處理代碼。
ENT_XHTML - 作為
XHTML 處理代碼。character
- set 可選。一個規定了要使用的字符集的字符串。允許的值:
UTF - 8 - 默認。
ASCII 兼容多字節的
8 位 Unicode
ISO - 8859 - 1 - 西歐
ISO - 8859 - 15 - 西歐(加入歐元符號
+ ISO - 8859 - 1 中丟失的法語和芬蘭語字母)cp866
- DOS 專用 Cyrillic 字符集cp1251
- Windows 專用 Cyrillic 字符集cp1252
- Windows 專用西歐字符集
KOI8 - R - 俄語
BIG5 - 繁體中文,主要在臺灣使用
GB2312 - 簡體中文,國家標準字符集
BIG5 - HKSCS - 帶香港擴展的 Big5Shift_JIS
- 日語
EUC - JP - 日語MacRoman
- Mac 操作系統使用的字符集注釋:在
PHP 5.4 之前的版本,無法被識別的字符集將被忽略并由
ISO - 8859 - 1 替代。自
PHP 5.4 起,無法被識別的字符集將被忽略并由
UTF - 8 替代。double_encode 可選。布爾值,規定是否編碼已存在的
HTML 實體。
TRUE - 默認。將對每個實體進行轉換。
FALSE - 不會對已存在的
HTML 實體進行編碼。
技術細節 返回值: 返回被轉換的字符串。 如果 string 包含無效的編碼,則返回一個空的字符串,除非設置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 標志。 PHP 版本: 4+ 更新日志: 在 PHP 5 中,character-set 參數的默認值改為 UTF-8。 在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。 在 PHP 5.3 中,新增了 ENT_IGNORE。 在 PHP 5.2.3 中,新增了 double_encode 參數。 在 PHP 4.1 中,新增了 character-set 參數。 例
把字符轉換為
HTML 實體:
< ? php
$str = "<? W3S?h????>" ;
echo htmlentities ( $str ) ;
? >
< ! DOCTYPE html
>
< html
>
< body
>
< ?
W3S ?h°°|§
>
< / body
>
< / html
>
< ? W3S ? h
?? ?? >
總結
以上是生活随笔 為你收集整理的PHP常见函数总结 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。