php常用函数、算法,PHP常用函数和常量
PHP常用系統常量
__FILE__
文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。自?PHP?4.0.2?起,總是包含一個絕對路徑(如果是符號連接,則是解析后的絕對路徑),而在此之前的版本有時會包含一個相對路徑。
__DIR__
文件所在的目錄。如果用在被包括文件中,則返回被包括的文件所在的目錄。它等價于?dirname(__FILE__)。除非是根目錄,否則目錄中名不包括末尾的斜杠。(PHP?5.3.0中新增)
__FUNCTION__
函數名稱(PHP?4.3.0?新加)。自?PHP?5?起本常量返回該函數被定義時的名字(區分大小寫)。在?PHP?4?中該值總是小寫字母的。
__CLASS__
類的名稱(PHP?4.3.0?新加)。自?PHP?5?起本常量返回該類被定義時的名字(區分大小寫)。在?PHP?4?中該值總是小寫字母的。
__METHOD__
類的方法名(PHP?5.0.0?新加)。返回該方法被定義時的名字(區分大小寫)。數學運算操作函數
abs(x)
函數返回x的絕對值。
ceil(x)
向上舍入為最接近x的整數。
floor(x)
向下舍入為最接近x的整數。
mt_rand(min,?max)
隨機返回?min?至?max?之間的一個數
Intval(x)
轉換?x?為?int?類型的數據
Floatval(x)
轉換?x?為?float?類型數據
字符串操作函數
addcslashes?—?為字符串里面的部分字符添加反斜線轉義字符
Chr(x)?—?返回一個字符的ASCII碼
echo?—?用以顯示一些內容
explode?—?將一個字符串用分割符轉變為一數組形式
htmlspecialchars?—?將字符串中一些字符轉換為HTML實體
implode?—?將數組用特定的分割符轉變為字符串
ltrim?—?去除字符串左側的空白或者指定的字符
rtrim?—?去除字符串右側的空白或者指定的字符
trim?—?去除字符串兩邊的空白或者指定的字符
md5?—?將一個字符串進行MD5算法加密
nl2br?—?將字符串中的換行符“\n”替換成“
”
str_replace?—?匹配和替換字符串
strip_tags?—?去除一個字符串里面的HTML和PHP代碼
stripos?—?查找并返回首個匹配項的位置,匹配不區分大小寫
stristr?—?通過比較返回一個字符串的部分,比較時不區分大小寫
strlen?—?獲取一個字符串的編碼長度
strpos?—?查找并返回首個匹配項的位置
strrchr?—?通過從后往前比較返回一個字符串的部分
strripos?—?從后往前查找并返回首個匹配項的位置,匹配不區分大小寫
strrpos?–?從后往前查找并返回首個匹配項的位置
strstr?—?通過比較返回一個字符串的部分
strtolower?—?將字符串轉變為小寫
strtoupper?–將字符串轉變為大寫
substr?—?對字符串進行截取
ucfirst?—?將所給字符串的第一個字母轉換為大寫
ucwords?—?將所給字符串的每一個英文單詞的第一個字母變成大寫?數組常用操作
array?—?新建一個數組
array_keys?—?返回數組中所有的鍵名
array_map?—?將回調函數作用到給定數組的單元上
array_merge?—?合并一個或多個數組
array_pop?—?將數組最后一個單元彈出(出棧)
array_push?—?將一個或多個單元壓入數組的末尾(入棧)
array_rand?—?從數組中隨機取出一個或多個單元
array_shift?—?將數組開頭的單元移出數組
array_unshift?—?在數組開頭插入一個或多個單元
array_slice?—?從數組中取出一段
array_splice?—?把數組中的一部分去掉并用其它值取代
count?—?計算數組中的單元數目或對象中的屬性個數
each?—?返回數組中當前的鍵/值對并將數組指針向前移動一步
end?—?將數組的內部指針指向最后一個單元
in_array?—?檢查數組中是否存在某個值
array_key_exists?—?檢查給定的鍵名或索引是否存在于數組中
next?—?將數組中的內部指針向前移動一位
reset?—?將數組的內部指針指向第一個單元
rsort?—?對數組逆向排序
shuffle?—?將數組打亂
sort?—?對數組排序?目錄與文件操作函數
一、文件類型
1.filetype()
獲取文件類型函數,參數為字符串(路徑+文件名)
返回值為字符串,file(普通文件),dir(目錄)或unknown(未知文件)
2.is_file()?is_dir()
判斷是否是該類型,返回布爾值
二、文件屬性(以下函數參數均為文件名)
1.file_exists()?檢查文件或目錄是否存在
2.filesize()?取得文件大小,出錯返回false
3.filectime()?獲取創建時間
4.filemtime()?獲取修改時間
5.fileatime()?獲取訪問時間
6.stat()?獲取文件大部分屬性值
三、解析目錄
1.basename(path,[suffix])?返回路徑中的文件名部分,第二個參數為擴展名(如"php"或".php"),如給出則返回值中不再有擴展名
2.dirname(path)?返回去掉文件名后的目錄名
3.pathinfo()?返回一個關聯數組,包括dirname(目錄名),basename(基本名),extension(擴展名)
四、遍歷目錄
1.opendir()?打開指定目錄,返回可供其他目錄函數使用的目錄句柄。失敗返回false
2.readdir()?讀取指定目錄,參數為目錄句柄,返回當前目錄指針位置的一個文件名,并將指針后移一們。沒有更多文件返回false
3.closedir()?關閉指定目錄,參數為目錄句柄
4.rewinddir()?倒回目錄句柄,參數為目錄句柄,將目錄指針重置到開始處
五、建立和刪除目錄
1.mkdir()?建立新目錄,參數為目錄名
2.rmdir()?刪除目錄,被刪除的只能是空目錄,如非空,則必須先進入目錄,將其中的文件用unlink()函數刪除
六、復制或移動目錄
1.復制:php中無特定函數,必須先新建目錄mkdir(),再使用copy()函數復制每個文件。
2.移動:先復制,后刪除原目錄
七、文件打開與關閉
1.fopen(filename,mode[,use_include_path[,zcontext]])?打開文件,參數為文件名,文件模式,第三個參數可選,設為1會使PHP考慮配置指令include_path中指定的路徑,第四個參數可選,設置允許文件名稱以協議名稱開始,如http://。返回文件指針,失敗返回false。
模式總結:
r?只讀
r+?讀寫
w?只寫(文件存在,則刪除原有數據,文件不存在,則創建這個文件)
w+?讀寫(同w)
x?寫入(文件存在,返回false,文件不存在則創建,僅本地)
x+?讀寫(同x)
a?寫入(指針指向文件尾,文件不存在則創建)
a+?寫入(同a)
b?二進制模式
t?文本模式
2.fclose()?關閉
八、操作文件內容
1.fwrite(handle,string[,length])?寫入字符串。\n\r為行結束字符。返回寫入的字符數,失敗返回false.
2.fread(handle,length)?讀取打開的文件
3.file_get_contents()?將文件讀入字符串
4.fgets(handle[,length])?返回一行
5.fgetc()?返回字符
6.file()?把文件讀入一個數組,每行為一個元素。
7.readfile()?讀取一個文件,輸出到輸出緩沖
8.feof()?判斷是否到達文件結束處,是則返回true
9.file_get_contents()
十、文件鎖定機制(防止多用戶同時訪問同一文件造成文件混亂)
1.flock(handle,operation[,&wouldblock])?文件鎖定操作,參數二:LOCK_SH?共享鎖定,讀取數據時使用;LOCK_EX?獨占鎖定,寫入數據使用;LOCK_UN?釋放鎖定;LOCK_NB?附加鎖定,防止鎖定時堵塞。參數三:設為1時,鎖定期間阻止其他進程。
十、文件復制、刪除等
1.copy(本源文件,目的文件)?復制
2.unlink(目標文件)?刪除文件
十一、文件上傳與下載
1.全局數組$_FILES
$_FILES["myfile"]["name"]?原名稱,含擴展名
$_FILES["myfile"]["size"]?已上傳文件大小,單位為字節
$_FILES["myfile"]["tmp_name"]?上傳后臨時文件名
$_FILES["myfile"]["error"]
0:成功;
1:大小超出PHP配置文件限制;
2:大小超出表單限制;
3:文件上載不完整;
4:沒有上載任何文件
$_FILES["myfile"]["type"]?獲取上傳文件的MIME類型
2.is_uploaded_file()?判斷是否是通過HTTPPOST上傳的
3.move_uploaded_file()?將上傳的文件從臨時位置移動到新位置
日期與時間函數
date
用法:?date(格式,[時間]);
如果沒有時間參數,則使用當前時間.?格式是一個字符串,替換成從一個起始時間(1970年1月1日)以來的秒數
time()
用法:time();?返回1970年1月1日零點以來的秒數.
microtime()
用法:microtime();?返回一個字符串,用空格分成兩部分,后一部分相當于time()
的返回值,前一部分是微秒數.
set_time_limit
用法:set_time_limit(秒數);
規定從該句運行時起程序必須在指定秒數內運行結束,?超時則程序出錯退出
Mktime(時,分,秒,月,日,年)
返回給定時間的秒數
strtotime(時間的字符串格式)?返回給定時間的秒數?正則表達式函數
preg_match(string?$pattern,?string?$content?[,?array?$matches])
在$content字符串中搜索與$pattern給出的正則表達式相匹配的內容。如果提供了$matches,則將匹配結果放入其?中。
preg_match_all(string?$pattern,?string?$content?[,?array?$matches])
與preg_match()函數類似。如果使用了第三個參數,將把所有可能的匹配結果放入。本函數返回整個模?式匹配的次數(可能為0),如果出錯返回False。
preg_replace?(mixed?$pattern,?mixed?$replacement,?mixed?$subject?[,?int?$limit])
在$string中搜索模式字符串$pattern,并將所匹配結果替換?為$replacement。當$pattern中包含模式單元(或子模式)時,$replacement中形如“\1”或“$1”的位置將依次被這些子?模式所匹配的內容替換。而“\0”或“$0”是指整個的匹配字符串的內容。需要注意的是,在雙引號中反斜線作為轉義符使用,所以必須使用“\\0”,“?\\1”的形式。其前三個參數均可以使用數組;第四個參數$limit可以設置替換的次數,默認為全部替換。其前三個參數均可以使用數組;第四個參數$limit可以設置替換的次數,默認為全部替換。
preg_split(string?$pattern,?string?$string?[,?int?$limit])
本函數返回一個字符串數組,每個單元為$string經正則表達式$pattern作為邊界分割出的子串。如?果設定了$limit,則返回的數組最多包含$limit個單元。
原文:http://www.cnblogs.com/flay/p/3850238.html
總結
以上是生活随笔為你收集整理的php常用函数、算法,PHP常用函数和常量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java性能优化方面的程序优化知识点归纳
- 下一篇: php论坛系统教程,国内php原创论坛