PHP常用函數總結
數學函數
1.abs(): 求絕對值
$abs = abs(-4.2); //4.2 數字絕對值數字
2.ceil(): 進一法取整
echo ceil(9.999); // 10 浮點數進一取整
3.floor(): 舍去法取整
echo floor(9.999); // 9 浮點數直接舍去小數部分
4.fmod(): 浮點數取餘
?$x = 5.7;
$y = 1.3; // 兩個浮點數,x>y 浮點餘數
$r = fmod($x, $y);
// $r equals 0.5, because 4 * 1.3 + 0.5 = 5.7
5.pow(): 傳回數的n次方
echo pow(-1, 20); // 1 基礎數|n次方乘方值
6.round(): 浮點數四舍五入
echo round(1.95583, 2); // 1.96, 一個數值|保留小數點後多少位,預設為0 舍入後的結果
7.sqrt(): 求平方根
echo sqrt(9); //3 被開方的數平方根
8.max(): 求最大值
echo max(1, 3, 5, 6, 7); // 7
多個數字或數組 傳回其中的最大值
echo max(array(2, 4, 5)); // 5
9.min(): 求最小值
輸入: 多個數字或數組
輸出: 傳回其中的最小值
10.mt_rand(): 更好的随機數
輸入: 最小|最大, 輸出: 随機數随機傳回範圍内的值
echo mt_rand(0,9);//n
11.rand(): 随機數 輸入: 最小|最大, 輸出: 随機數随機傳回範圍内的值
12.pi(): 擷取圓周率值
去空格或或其他字元:
13.trim(): 删除字元串兩端的空格或其他預定義字元
?$str = "\r\nHello World!\r\n";
echo trim($str);
輸入: 目标字元串 傳回值: 清除後的字元串
14.rtrim(): 删除字元串右邊的空格或其他預定義字元
?$str = "Hello World!\n\n";
echo rtrim($str);
15.chop(): rtrim()的别名
16.ltrim(): 删除字元串左邊的空格或其他預定義字元
?$str = "\r\nHello World!";
echo ltrim($str);
17.dirname(): 傳回路徑中的目錄部分
echo dirname("c:/testweb/home.php"); //c:/testweb
輸入: 一個包含路徑的字元串 傳回值: 傳回檔案路徑的目錄部分
字元串生成與轉化:
18.str_pad(): 把字元串填充為指定的長度
?$str = "Hello World";
echo str_pad($str,20,".");
輸入: 要填充的字元串|新字元串的長度|供填充使用的字元串, 預設是空白
輸出: 完成後的字元串
19.str_repeat(): 重複使用指定字元串
echo str_repeat(".",13); // 要重複的字元串|字元串将被重複的次數13個點
20.str_split(): 把字元串分割到數組中
print_r(str_split("Hello"));
輸入: 要分割的字元串|每個數組元素的長度,預設1
輸出: 拆分後的字元串數組
21.strrev(): 反轉字元串
echo strrev("Hello World!"); // !dlroW olleH
輸出: 目标字元串颠倒順序後的字元串
22.wordwrap(): 按照指定長度對字元串進行折行處理
?$str = "An example on a long word is:
Supercalifragulistic";
echo wordwrap($str,15);
輸入: 目标字元串|最大寬數
輸出: 折行後的新字元串
23.str_shuffle(): 随機地打亂字元串中所有字元
echo str_shuffle("Hello World");
輸入: 目标字元串順序 輸出: 打亂後的字元串
24.parse_str(): 将字元串解析成變量
?parse_str("id=23&name=John%20Adams", $myArray);
print_r($myArray);
輸入: 要解析的字元串|存儲變量的數組名稱
輸出: 傳回Array( [id] => 23 [name] => John Adams)
25.number_format(): 通過千位分組來格式化數字 輸入: 要格式化的數字|規定多少個小數|規定用作小數點的字元 串|規定用作千位分隔符的字元串
輸出: 1,000,000 1,000,000.00 1.000.000,00
大小寫轉換:
26.strtolower(): 字元串轉為小寫
echo strtolower("Hello WORLD!");
目标字元串 小寫字元串
27.strtoupper(): 字元串轉為大寫
echo strtoupper("Hello WORLD!");
輸出: 大寫字元串
28.ucfirst(): 字元串首字母大寫
echo ucfirst("hello world"); // Hello world
29.ucwords(): 字元串每個單詞首字元轉為大寫
echo ucwords("hello world"); // Hello World
html标簽關聯:
30.htmlentities(): 把字元轉為HTML實體
?$str = "John & 'Adams'";
echo htmlentities($str, ENT_COMPAT); // John & 'Adams'
31.htmlspecialchars(): 預定義字元轉html編碼
32.nl2br(): \n轉義為
标簽
echo nl2br("One line.\nAnother line.");
輸出: 處理後的字元串
33.strip_tags(): 剝去 HTML、XML 以及 PHP 的标簽
echo strip_tags("Hello
world!");
34.addcslashes():在指定的字元前添加反斜線轉義字元串中字元
?$str = "Hello, my name is John Adams.";
echo $str;
echo addcslashes($str,'m');
輸入: 目标字元串|指定的特定字元或字元範圍
35.stripcslashes(): 删除由addcslashes()添加的反斜線
echo stripcslashes("Hello, \my na\me is Kai Ji\m.");
// 目标字元串 Hello, my name is Kai Jim.
36.addslashes(): 指定預定義字元前添加反斜線
$str = "Who's John Adams?";
echo addslashes($str);
輸出: 把目标串中的' " \和null進行轉義處理
37.stripslashes(): 删除由addslashes()添加的轉義字元
echo stripslashes("Who\'s John Adams?"); // 清除轉義符号Who's John Adams?
38.quotemeta(): 在字元串中某些預定義的字元前添加反斜線
?$str = "Hello world. (can you hear me?)";
echo quotemeta($str);
// Hello world\. \(can you hear me\?\)
39.chr(): 從指定的 ASCII 值傳回字元
echo chr(052); // ASCII 值傳回對應的字元
40.ord(): 傳回字元串第一個字元的ASCII值
echo ord("hello"); 字元串第一個字元的 ASCII 值
字元串比較:
41.strcasecmp(): 不區分大小寫比較兩字元串
echo strcasecmp("Hello world!","HELLO WORLD!");
輸入: 兩個目标字元串 輸出: 大1|等0|小 -1
42.strcmp(): 區分大小寫比較兩字元串
43.strncmp(): 比較字元串前n個字元,區分大小寫
調用: int strncmp ( string $str1 , string $str2 , int $len)
44.strncasecmp(): 比較字元串前n個字元,不區分大小寫
調用: int strncasecmp ( string $str1 , string $str2 , int $len )
45.strnatcmp(): 自然順序法比較字元串長度,區分大小寫
調用: int strnatcmp ( string $str1 , string $str2 )
輸入: 目标字元串
46.strnatcasecmp(): 自然順序法比較字元串長度, 不區分大小寫
調用: int strnatcasecmp ( string $str1 , string $str2 )
字元串切割與拼接:
47.chunk_split():将字元串分成小塊
調用: str chunk_split(str $body[,int $len[,str $end]])
輸入: $body目标字串, $len長度, $str插入結束符 輸出: 分割後的字元串
48.strtok(): 切開字元串
調用: str strtok(str $str,str $token)
目标字元串$str,以$token為标志切割傳回切割後的字元串
49.explode(): 使用一個字元串為标志分割另一個字元串
調用: array explode(str $sep,str $str[,int $limit])
輸入: $sep為分割符,$str目标字元串,$limit傳回數組最多包含元素數 輸出: 字元串被分割後形成的數組
50.implode(): 同join,将數組值用預訂字元連接配接成字元串
調用: string implode ( string $glue , array $pieces )
$glue預設, 用''則直接相連
51.substr(): 截取字元串
調用: string substr ( string $string , int $start [, int $length ] )
字元串查找替換:
52.str_replace(): 字元串替換操作,區分大小寫
調用mix str_replace(mix $search,mix $replace, mix $subject[,int &$num])
輸入: $search查找的字元串,$replace替換的字元串,$subject被查找字串, &$num 輸出: 傳回替換後的結果
53.str_ireplace() 字元串替換操作,不區分大小寫
調用: mix str_ireplace ( mix $search , mix $replace , mix $subject [, int &$count ] )
輸入: $search查找的字元串,$replace替換的字元串,$subject被查找字串,&$num 輸出: 傳回替換後的結果
54.substr_count(): 統計一個字元串,在另一個字元串中出現次數
調用: int substr_count ( string $haystack , string $needle[, int $offset = 0 [, int $length ]] )
55.substr_replace(): 替換字元串中某串為另一個字元串
調用: mixed substr_replace ( mixed $string, string $replacement,int $start [, int $length ] )
56.similar_text(): 傳回兩字元串相同字元的數量
調用: int similar_text(str $str1,str $str2)
輸入: 兩個比較的字元串
輸出: 整形,相同字元數量
57.strrchr(): 傳回一個字元串在另一個字元串中最後一次出現位置開始到末尾的字元串
調用: string strrchr ( string $haystack , mixed $needle )
58.strstr(): 傳回一個字元串在另一個字元串中開始位置到結束的字元串
調用: string strstr ( string $str, string $needle , bool $before_needle )
59.strchr(): strstr()的别名,傳回一個字元串在另一個字元串中首次出現的位置開始到末尾的字元串
調用: string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
60.stristr(): 傳回一個字元串在另一個字元串中開始位置到結束的字元串,不區分大小寫
調用:string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
61.strtr(): 轉換字元串中的某些字元
調用: string strtr ( string $str , string $from , string $to )
62.strpos(): 尋找字元串中某字元最先出現的位置
調用: int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
63.stripos(): 尋找字元串中某字元最先出現的位置,不區分大小寫 調用: int stripos ( string $haystack , string $needle [, int $offset ] )
64.strrpos(): 尋找某字元串中某字元最後出現的位置
調用: int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )
65.strripos(): 尋找某字元串中某字元最後出現的位置,不區分大小寫
調用: int strripos ( string $haystack , string $needle [, int $offset ] )
66.strspn(): 傳回字元串中首次符合mask的子字元串長度 調用: int strspn ( string $str1 , string $str2 [, int $start [, int $length ]] )
67.strcspn(): 傳回字元串中不符合mask的字元串的長度
調用: int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] )
輸入: $str1被查詢,$str2查詢字元串,$start開始查詢的字元,$length是查詢長度 輸出: 傳回從開始到第幾個字元
字元串統計:
68.str_word_count(): 統計字元串含有的單詞數
調用: mix str_word_count(str $str,[])
輸入: 目标字元串 輸出: 統計處的數量
69.strlen(): 統計字元串長度int strlen(str $str)
輸入: 目标字元串 輸出:整型長度
70.count_chars(): 統計字元串中所有字母出現次數(0..255) 調用: mixed count_chars ( string $string [, int $mode ] )
字元串編碼:
71.md5(): 字元串md5編碼
?$str = "Hello";
echo md5($str);
數組函數
數組建立:
72.array(): 生成一個數組
?$a=array("Dog","Cat","Horse");
print_r($a);
數組值或,鍵=>值一個數組型變量
73.array_combine(): 生成一個數組,用一個數組的值 作為鍵名,另一個數組值作為值
$a1=array("a","b","c","d");
$a2=array("Cat","Dog","Horse","Cow");
print_r(array_combine($a1,$a2));
$a1為提供鍵,$a2提供值合成後的數組
74.range(): 建立并傳回一個包含指定範圍的元素的數組。
$number = range(0,50,10);
print_r ($number);
輸入: 0是最小值,50是最大值,10是步長 輸出: 合成後的數組
75.compact(): 建立一個由參數所帶變量組成的數組
?$firstname = "Peter";
$lastname = "Griffin";
$age = "38";
$result = compact("firstname", "lastname",
"age");
print_r($result);
變量或數組
傳回由變量名為鍵,變量值為值的數組,變量也可以為多元數組.會遞歸處理 76.array_fill(): 用給定的填充(值生成)數組
?$a=array_fill(2,3,"Dog");
print_r($a);
2是鍵,3是填充的數量,'Dog'為填充内容傳回完成的數組
數組合并和拆分:
77.array_chunk(): 把一個數組分割為新的數組塊
?$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");
print_r(array_chunk($a,2));
一個數組分割後的多元數組,規定每個新數組包含2個元素
78.array_merge(): 把兩個或多個數組合并為一個數組。
?$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge($a1,$a2));
輸入: 兩個數組 輸出: 傳回完成後的數組
79.array_slice(): 在數組中根據條件取出一段值,并傳回。
?$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,1,2));
輸入: 一個數組 輸出: 1為從'Cat'開始,2為傳回兩個元素
數組比較:
80.array_diff(): 傳回兩個數組的差集數組
?$a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
print_r(array_diff($a1,$a2)); //傳回'Cat'
輸入: 兩個或多個數組 輸出: $a1與$a2的不同之處
81.array_intersect(): 傳回兩個或多個數組的交集數組 輸出: 傳回'Dog'和'Horse',$a1與$a2的相同之處
數組查找替換:
82.array_search(): 在數組中查找一個值,傳回一個鍵,沒有傳回傳回假
?$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_search("Dog",$a);
輸入: 一個數組 輸出: 成功傳回鍵名,失敗傳回false
83.array_splice(): 把數組中一部分删除用其他值替代
?$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,0,2,$a2);
print_r($a1);
輸入: 一個或多個數組 輸出: $a1被移除的部分由$a2補全
84.array_sum(): 傳回數組中所有值的總和
?$a=array(0=>"5",1=>"15",2=>"25");
echo array_sum($a);
輸入: 一個數組 輸出: 傳回和
85.in_array(): 在數組中搜尋給定的值,區分大小寫
?$people = array("Peter", "Joe", "Glenn", "Cleveland");
if (in_array("Glenn",$people) {
echo "Match found";
}
else{
echo "Match not found";
}
輸入: 需要搜尋的值|數組 輸出: true/false
86.array_key_exists(): 判斷某個數組中是否存在指定的 key
輸入: 需要搜尋的鍵名|數組
數組指針操作:
87.key(): 傳回數組内部指針目前指向元素的鍵名
88.current(): 傳回數組中的目前元素(單元).
89.next(): 把指向目前元素的指針移動到下一個元素的位置,并傳回目前元素的值
90.prev(): 把指向目前元素的指針移動到上一個元素的位置,并傳回目前元素的值
91.end(): 将數組内部指針指向最後一個元素,并傳回該元素的值(如果成功)
92.reset(): 把數組的内部指針指向第一個元素,并傳回這個元素的值
93.list(): 用數組中的元素為一組變量指派
?$my_array=array("Dog","Cat","Horse");
list($a, $b, $c) = $my_array;
輸入: $a, $b, $c為需要指派的變量 輸出: 變量分别比對數組中的值
94.array_shift(): 删除數組中的第一個元素,并傳回被删除元素的值
?$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_shift($a);
print_r ($a);
95.array_unshift(): 在數組開頭插入一個或多個元素
?$a=array("a"=>"Cat","b"=>"Dog");
array_unshift($a,"Horse");
print_r($a);
96.array_push(): 向數組最後壓入一個或多個元素
?$a=array("Dog","Cat");
array_push($a,"Horse","Bird");
print_r($a);
輸入: 目标數組|需要壓入的值 傳回值: 傳回新的數組
97.array_pop(): 取得(删除)數組中的最後一個元素
?$a=array("Dog","Cat","Horse");
array_pop($a);
print_r($a);
輸入: $a為目标數組 輸出: 傳回數組剩餘元素
數組鍵值操作:
98.shuffle(): 将數組打亂,保留鍵名
?$my_array = array("a" => "Dog", "b" => "Cat");
shuffle($my_array);
print_r($my_array);
輸入: 一個或多個數組 輸出: 順序打亂後的數組
99.count(): 計算數組中的單元數目或對象中的屬性個數
?$people = array("Peter", "Joe", "Glenn",
"Cleveland");
$result = count($people);
echo $result;
輸入: 數組 輸出: 輸出元素個數
100.array_flip(): 傳回一個鍵值反轉後的數組
?$a=array(0=>"Dog",1=>"Cat",2=>"Horse");
print_r(array_flip($a));
輸出: 傳回完成後的數組 101.array_keys(): 傳回數組所有的鍵,組成一個數組
?$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
print_r(array_keys($a));
輸出: 傳回由鍵名組成的數組
102.array_values(): 傳回數組中所有值,組成一個數組
輸出: 傳回由鍵值組成的數組
103.array_reverse(): 傳回一個元素順序相反的數組 元素順序相反的一個數組,鍵名和鍵值依然比對
104.array_count_values(): 統計數組中所有的值出現的次數
?$a=array("Cat","Dog","Horse","Dog");
print_r(array_count_values($a));
輸出: 傳回數組原鍵值為新鍵名,次數為新鍵值
105.array_rand(): 從數組中随機抽取一個或多個元素,注意是鍵名!!!
?$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
print_r(array_rand($a,1));
$a為目标數組, 1為抽取第幾個元素的鍵名傳回第1個元素的鍵名b
106.each(): 傳回數組中目前的鍵/值對并将數組指針向前移動一步 調用array each ( array &$array )
在執行 each() 之後,數組指針将停留在數組中的下一個單元或者當碰到數組結尾時停留在最後一個單元。如果要再用 each 周遊數組,必須使用 reset()。
傳回值: 數組中目前指針位置的鍵/值對并向前移動數組指針。鍵值對被傳回為四個單元的數組,鍵名為0,1,key和 value。單元 0 和 key 包含有數組單元的鍵名,1 和 value 包含有資料。 如果内部指針越過了數組的末端,則 each() 傳回 FALSE。
107.array_unique(): 删除重複值,傳回剩餘數組
?$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");
print_r(array_unique($a));
輸入: 數組 輸入: 傳回無重複值數組,鍵名不變
數組排序:
108.sort(): 按升序對給定數組的值排序,不保留鍵名
?$my_array = array("a" => "Dog", "b" => "Cat",
"c" => "Horse");
sort($my_array);
print_r($my_array);
輸出: true/false 109.rsort(): 對數組逆向排序,不保留鍵名 110.asort(): 對數組排序,保持索引關系 111.arsort(): 對數組逆向排序,保持索引關 112.ksort(): 系按鍵名對數組排序 113.krsort(): 将數組按照鍵逆向排序 114.natsort(): 用自然順序算法對數組中的元素排序 115.natcasesort(): 自然排序,不區分大小寫
檔案系統函數
116.fopen(): 打開檔案或者 URL
$handle = fopen("ftp://user:[email protected]/somefile.txt", "w");
調用: resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )
傳回值: 如果打開失敗,本函數傳回 FALSE
117.fclose(): 關閉一個已打開的檔案指針
?$handle = fopen('somefile.txt', 'r');
fclose($handle);
bool fclose(resource handle)
輸出: 如果成功則傳回 TRUE,失敗則傳回 FALSE
檔案屬性
118.file_exists(): 檢查檔案或目錄是否存在
?$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "exists";
} else {
echo "does not exist";
}
調用: bool file_exists ( string filename ) 輸入: 指定的檔案或目錄 輸出: 存在則傳回 TRUE,否則傳回 FALSE
119.filesize(): 取得檔案大小
?$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) .'bytes';
調用: int filesize ( string $filename )
輸出: 傳回檔案大小的位元組數,如果出錯傳回 FALSE 并生成一條 E_WARNING 級的錯誤
120.is_readable(): 判斷給定檔案是否可讀
?$filename = 'test.txt';
if (is_readable($filename)) {
echo '可讀';
} else {
echo '不可讀';
}
調用: bool is_readable ( string $filename ) 輸出: 如果由 filename指定的檔案或目錄存在并且可讀則傳回 TRUE
121.is_writable(): 判斷給定檔案是否可寫
?$filename = 'test.txt';
if (is_writable($filename)) {
echo '可寫';
} else {
echo '不可寫';
}
調用: bool is_writable ( string $filename ) filename 參數 可以是一個允許進行是否可寫檢查的目錄名
輸出: 如果檔案存在并且可寫則傳回 TRUE。
122.is_executable(): 判斷給定檔案是否可執行
?$file = 'setup.exe';
if (is_executable($file)) {
echo '可執行';
} else {
echo '不可執行';
}
調用: bool is_executable ( string $filename ) 輸出: 如果檔案存在且可執行則傳回 TRUE
123.filectime(): 擷取檔案的建立時間
?$filename = 'somefile.txt';
echo filectime($filename);
調用: int filectime ( string $filename ) 輸出: 時間以 Unix 時間戳的方式傳回,如果出錯則傳回FALSE
124.filemtime(): 擷取檔案的修改時間
?$filename = 'somefile.txt';
echo filemtime($filename);
int filemtime ( string $filename )
輸出: 傳回檔案上次被修改的時間,出錯時傳回 FALSE。時間以 Unix時間戳的方式傳回
125.fileatime(): 擷取檔案的上次通路時間
?$filename = 'somefile.txt';
echo fileatime($filename);
調用: int fileatime (string $filename)
輸出: 傳回檔案上次被通路的時間, 如果出錯則傳回FALSE. 時間以Unix時間戳的方式傳回.
126.stat(): 擷取檔案大部分屬性值
?$filename = 'somefile.txt';
var_dump(fileatime($filename));
調用: array stat (string $filename 輸出: 傳回由 filename 指定的檔案的統計資訊
檔案操作
127.fwrite(): 寫入檔案
?$filename = 'test.txt';
$somecontent = "添加這些文字到檔案\n";
$handle = fopen($filename, 'a');
fwrite($handle, $somecontent);
fclose($handle);
調用: int fwrite ( resource handle, string string [, int length] )
輸出: 把 string 的内容寫入 檔案指針 handle 處。如果指定了 length,當寫入了length個位元組或者寫完了string以後,寫入就會停止, 視乎先碰到哪種情況
128.fputs(): 同上
129.fread(): 讀取檔案
?$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
調用: string fread ( int handle, int length ) 從檔案指針handle,讀取最多 length 個位元組
130.feof(): 檢測檔案指針是否到了檔案結束的位置
?$file = @fopen("no_such_file", "r");
while (!feof($file)) {
}
fclose($file);
調用: bool feof ( resource handle ) 輸出: 如果檔案指針到了 EOF 或者出錯時則傳回TRUE,否則傳回一個錯誤(包括 socket 逾時),其它情況則傳回 FALSE
131.fgets(): 從檔案指針中讀取一行
?$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
調用: string fgets ( int handle [, int length] ) 輸出: 從handle指向的檔案中讀取一行并傳回長度最多為length-1位元組的字元串.碰到換行符(包括在傳回值中)、EOF 或者已經讀取了length -1位元組後停止(看先碰到那一種情況). 如果沒有指定 length,則預設為1K, 或者說 1024 位元組.
132.fgetc(): 從檔案指針中讀取字元
?$fp = fopen('somefile.txt', 'r');
if (!$fp) {
echo 'Could not open file somefile.txt';
}
while (false !== ($char = fgetc($fp))) {
echo "$char\n";
}
輸入: string fgetc ( resource $handle ) 輸出: 傳回一個包含有一個字元的字元串,該字元從 handle指向的檔案中得到. 碰到 EOF 則傳回 FALSE.
133.file(): 把整個檔案讀入一個數組中
?$lines = file('http://www.example.com/');
// 在數組中循環,顯示 HTML 的源檔案并加上行号。
foreach ($lines as $line_num => $line) {
echo "Line #
{$line_num}: " .
htmlspecialchars($line) . "
\n";
}
// 另一個例子将 web 頁面讀入字元串。參見 file_get_contents()。
$html = implode('', file('http://www.example.com/'));
調用: array file ( string $filename [, int $use_include_path [, resource $context ]] )
輸出: 數組中的每個單元都是檔案中相應的一行,包括換行符在内。如果失敗 file() 傳回 FALSE
134.readfile(): 輸出一個檔案 調用: int readfile ( string $filename [, bool $use_include_path [, resource $context ]] )
輸出: 讀入一個檔案并寫入到輸出緩沖。傳回從檔案中讀入的位元組數。如果出錯傳回 FALSE
135.file_get_contents(): 将整個檔案讀入一個字元串
echo file_get_contents('http://www.baidu.com');
調用: string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] ) 136.file_put_contents():将一個字元串寫入檔案
file_put_contents('1.txt','aa');
調用: int file_put_contents ( string $filename , string $data [, int $flags [, resource $context ]] )
輸出: 該函數将傳回寫入到檔案内資料的位元組數
137.ftell(): 傳回檔案指針讀/寫的位置
?$fp=fopen('tx.txt','r');
fseek($fp,10);
echo ftell($fp);
fread($fp,4);
echo ftell($fp);
調用: int ftell ( resource $handle ) 輸出: 傳回由 handle 指定的檔案指針的位置,也就是檔案流中的偏移量
138.fseek(): 在檔案指針中定位
?$fp=fopen('tx.txt','r');
fseek($fp,10);
echo ftell($fp);
fread($fp,4);
echo ftell($fp);
調用: int fseek ( resource $handle , int $offset [, int $whence ] ) 輸出: 成功則傳回 0;否則傳回 -1
139.rewind(): 倒回檔案指針的位置
?$fp=fopen('tx.txt','r');
fseek($fp,3);
echo ftell($fp);
fread($fp,4);
rewind($fp);
echo ftell($fp);
調用: bool rewind ( resource $handle ) 傳回值: 如果成功則傳回 TRUE,失敗則傳回 FALSE
140.flock(): 輕便的執行檔案鎖定
?$fp=fopen('tx.txt','r');
flock($fp, LOCK_SH);//共享鎖
//flock($fp, LOCK_EX);//獨立鎖,寫檔案時用它打開
//flock($fp, LOCK_NB);//附加鎖
flock($fp, LOCK_UN);//釋放鎖
fclose($fp);
調用: bool flock ( int $handle , int $operation [, int &$wouldblock ] ) 輸出: 如果成功則傳回 TRUE,失敗則傳回 FALSE
目錄
141.basename(): 傳回路徑中的檔案名部分
?path = "/home/httpd/html/index.php";
$file = basename($path);
$file = basename($path,".php");
調用: string basename ( string $path [, string $suffix ]) 輸出: 給出一個包含有指向一個檔案的全路徑的字元串,本函數傳回基本的檔案名。如果檔案名是以 suffix 結 束的,那這一部分也會被去掉
142.dirname(): 傳回路徑中的目錄部分
?$path = "/etc/passwd";
$file = dirname($path);
調用: string dirname ( string $path ) 輸出: 給出一個包含有指向一個檔案的全路徑的字元串,本函數傳回去掉檔案名後的目錄名
143.pathinfo(): 傳回檔案路徑的資訊
?echo '
';
print_r(pathinfo("/www/htdocs/index.html"));
echo '
';
調用: mixed pathinfo ( string $path [, int $options ] ) 傳回一個關聯數組包含有 path 的資訊
144.opendir(): 打開目錄句柄
?$fp=opendir('E:/xampp/htdocs/php/study/19');
echo readdir($fp);
closedir($fp);
調用: resource opendir ( string $path [, resource $context ] ) 傳回值: 如果成功則傳回目錄句柄的 resource,失敗則傳回FALSE
145.readdir(): 從目錄句柄中讀取條目
?$fp=opendir('E:/xampp/htdocs/php/study/19');
echo readdir($fp);
closedir($fp);
調用: string readdir ( resource $dir_handle ) 傳回值: 傳回目錄中下一個檔案的檔案名。檔案名以在檔案系統中的排序傳回
146.closedir(): 關閉目錄句柄
?$fp=opendir('E:/xampp/htdocs/php/study/19');
echo readdir($fp);
closedir($fp);
調用: void closedir ( resource $dir_handle ) 關閉由 dir_handle 指定的目錄流。流必須之前被opendir() 所打開 147.rewinddir() : 倒回目錄句柄
?$fp=opendir('E:/xampp/htdocs/php/study/19');
echo readdir($fp).'
';
echo readdir($fp).'
';
echo readdir($fp).'
';
rewinddir($fp);
echo readdir($fp).'
';
closedir($fp);
調用: void rewinddir ( resource $dir_handle ) 輸出: 将 dir_handle 指定的目錄流重置到目錄的開頭 148.mkdir(): 建立目錄
mkdir('123');
調用: bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] ) 輸出: 嘗試建立一個由 pathname 指定的目錄
149.rmdir(): 删除目錄
rmdir('123');
調用: bool rmdir ( string $dirname ) 輸出: 嘗試删除 dirname 所指定的目錄。目錄必須是空的,而且要有相應的權限。如果成功則傳回TRUE,失敗則傳回 FALSE
150.unlink(): 删除檔案
?unlink('123/1.txt');
rmdir('123');
調用: bool unlink ( string $filename ) 輸出: 删除 filename 。和 Unix C 的 unlink() 函數相似。如果成功則傳回 TRUE,失敗則傳回 FALSE
151.copy(): 拷貝檔案
copy('index.php','index.php.bak');
調用: bool copy ( string $source , string $dest ) 輸出: 将檔案從 source 拷貝到 dest. 如果成功則傳回TRUE,失敗則傳回 FALSE
152.rename(): 重命名一個檔案或目錄
rename('tx.txt','txt.txt');
調用: bool rename ( string $oldname , string $newname [, resource $context ] ) 輸出: 如果成功則傳回 TRUE,失敗則傳回 FALSE
檔案的上傳與下載下傳
153.is_uploaded_file():判斷檔案是否是通過 HTTP POST上傳的
?if(is_uploaded_file($_FILES['bus']['tmp_name'])){
if( move_uploaded_file($_FILES['bus']['tmp_name'],
$NewPath) ){
echo '上傳成功
';
}else{
exit('失敗');
}
}else{
exit('不是上傳檔案');
}
調用: bool is_uploaded_file ( string $filename )
154.move_uploaded_file(): 将上傳的檔案移動到新位置
?if(is_uploaded_file($_FILES['bus']['tmp_name'])){
if( move_uploaded_file($_FILES['bus']['tmp_name'],
$NewPath) ){
echo '上傳成功
';
}else{
exit('失敗');
}
}else{
exit('不是上傳檔案');
}
調用: bool move_uploaded_file ( string $filename , string
時間函數
155.time(): 傳回目前的 Unix 時間戳time(); 調用: int time ( void ) 輸出: 傳回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到目前時間的秒數
156.mktime(): 取得一個日期的 Unix 時間戳
mktime(0, 0, 0, 4, 25, 2012);
調用: int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] ) 156.date(): 格式化一個本地時間/日期
date('Y年m月d日 H:i:s');
調用: string date ( string $format [, int $timestamp ] )
輸出: 2016年09月10日 20:45:54
157.checkdate(): 驗證一個格裡高裡日期 調用: bool checkdate ( int $month , int $day , int $year) 輸出: 如果給出的日期有效則傳回 TRUE,否則傳回 FALSE
?if(checkdate(6,31,2012)){
echo '成立';
}else{
echo '不成立';
}
158.date_default_timezone_set(): 設定用于一個腳本中所有日期時間函數的預設時區
date_default_timezone_set('PRC');
調用: bool date_default_timezone_set ( string $timezone_identifier)
傳回值: 如果 timezone_identifier 參數無效則傳回 FALSE,否則傳回 TRUE。
159.getdate(): 取得日期/時間資訊 調用: array getdate ([ int $timestamp ] )
輸出: 傳回一個根據timestamp得出的包含有日期資訊的關聯數組。如果沒有給出時間戳則認為是目前本地時間
?$t=getdate();
var_dump($t);
160.strtotime(): 将任何英文文本的日期時間描述解析為 Unix 時間戳
?echo strtotime("now");
int strtotime ( string $time [, int $now ] )
echo strtotime("10 September 2000");
echo strtotime("+1 day");
echo strtotime("+1 week");
echo strtotime("+1 week 2 days 4 hours 2 seconds");
echo strtotime("next Thursday");
echo strtotime("last Monday");
161.microtime(): 傳回目前 Unix 時間戳和微秒數 調用: mixed microtime ([ bool $get_as_float ] )
?$start=microtime(true);
sleep(3);
$stop=microtime(true);
echo $stop-$start;
其他常用:
162.intval(): 擷取變量的整數值 調用: int intval ( mixed $var [, int $base = 10 ] ) 通過使用指定的進制 base 轉換(預設是十進制),傳回變量 var 的 integer 數值。 intval() 不能用于 object,否則會産生 E_NOTICE 錯誤并傳回 1。
var: 要轉換成 integer 的數量值
base: 轉化所使用的進制
傳回值: 成功時傳回 var 的 integer 值,失敗時傳回 0。 空的 array 傳回 0,非空的 array 傳回 1。
PDO類的相關函數 prepare() execute() fetch()
?<?php
$driver = 'mysql';
$database = "dbname=CODINGGROUND";
$dsn = "$driver:host=localhost;unix_socket=/home/cg/mysql/mysql.sock;$database";
$username = 'root';
$password = 'root';
try {
$conn = new PDO($dsn, $username, $password);
echo "
Database CODINGGROUND Connected
";
}catch(PDOException $e){
echo "
" . $e->getMessage() . "
";
}
$sql = 'SELECT * FROM users';
$stmt = $conn->prepare($sql);
$stmt->execute();
echo "
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
echo "
";
foreach($row as $value)
{
echo sprintf("
%s", $value);
}
echo "
";
}
echo "
";
?>
正規表達式-元字元
元字元及其比對範圍
\d 比對任意一個十進制數字,等價于: [0-9] \D 比對除十進制數字以外的任意數字,等價于: [^0-9] \s:比對空白字元,等價于: [\n\f\r\t\v] \S: 比對除空白字元以外的任意一個字元, 等價于[^\n\f\r\t\v]
\w 比對任意一個數字、字母和下劃線,等價于: [0-9a-zA-Z_] \W 比對除字母、數字和下劃線以外的任意字元, 等價于: [^0-9a-zA-Z_] [] 1)用來表示範圍。2)比對任意一個中括号中定義的原子 [^]: 中括号裡面的^(抑揚符):表示比對任意一個除中括号裡面定義的原子
限定次數
* 比對0次、1次或多次其前的原子, 等價于: {0,} + 比對1次或多次其前的原子, 等價于: {1,} ? 比對0次或1次其前的原子, 等價于: {0,1} {n} 表示其前的原子正好出現n次, 等價于: {n,} 表示其前的原子至少出現n次,最多不限制 {m,n} 表示其前的原子最少出現m次,最多出現n次
其它
. 比對除換行符(\n)以外的任意字元【windows下還比對\f\r】 | 兩個或多個分支選擇【優先級最低】 ^ 比對輸入字元的開始位置 $ 比對輸入字元的結束位置 \b 比對詞邊界 \B 比對非詞邊界 () 1)模式單元,把多個小原子組成一個大原子。2)可以改變優先級