




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、PHP+MySQL開發(fā)實(shí)例教程開發(fā)實(shí)例教程 ISBNISBN號:號:978-7-5083-7194-8作者:作者:毛書朋毛書朋 聶慶鵬聶慶鵬653653工程工程指指定教材定教材第第6章章 PHP5常用函數(shù)介紹常用函數(shù)介紹 6.1 PHP5內(nèi)置函數(shù)概述內(nèi)置函數(shù)概述 6.2 數(shù)組函數(shù)數(shù)組函數(shù) 6.3 字符串處理函數(shù)字符串處理函數(shù) 6.4 時(shí)間日期函數(shù)時(shí)間日期函數(shù)6.5 數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)6.6 圖像處理函數(shù)圖像處理函數(shù)6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù)6.8 其他函數(shù)其他函數(shù)6.9 用本文操作實(shí)現(xiàn)支持頭像上傳的用戶注冊與登陸用本文操作實(shí)現(xiàn)支持頭像上傳的用戶注冊與登陸6.10 本章小結(jié)本章小結(jié)6.11
2、練練 習(xí)習(xí) 題題6.1 PHP5內(nèi)置函數(shù)概述內(nèi)置函數(shù)概述 6.1.1 標(biāo)準(zhǔn)函數(shù)與擴(kuò)展函數(shù)標(biāo)準(zhǔn)函數(shù)與擴(kuò)展函數(shù) PHP中的函數(shù)分為內(nèi)置函數(shù)和用戶自定義函數(shù)中的函數(shù)分為內(nèi)置函數(shù)和用戶自定義函數(shù)兩大類。兩大類。 PHP中的內(nèi)置函數(shù)也大體分為兩大類,一是標(biāo)中的內(nèi)置函數(shù)也大體分為兩大類,一是標(biāo)準(zhǔn)函數(shù)庫,二是擴(kuò)展函數(shù)庫。標(biāo)準(zhǔn)函數(shù)庫中的準(zhǔn)函數(shù)庫,二是擴(kuò)展函數(shù)庫。標(biāo)準(zhǔn)函數(shù)庫中的函數(shù)存放在函數(shù)存放在PHP內(nèi)核中,可以在程序中直接使內(nèi)核中,可以在程序中直接使用,不需要其他任何聲明、載入等操作。而擴(kuò)用,不需要其他任何聲明、載入等操作。而擴(kuò)展函數(shù)庫中的函數(shù)一般并不能直接使用,而是展函數(shù)庫中的函數(shù)一般并不能直接使用,而是
3、按照個(gè)人不同的需求來有選擇地開啟或者關(guān)閉。按照個(gè)人不同的需求來有選擇地開啟或者關(guān)閉。 6.1 PHP5內(nèi)置函數(shù)概述內(nèi)置函數(shù)概述 6.1.1 標(biāo)準(zhǔn)函數(shù)與擴(kuò)展函數(shù)標(biāo)準(zhǔn)函數(shù)與擴(kuò)展函數(shù) 擴(kuò)展函數(shù)按照功能的不同被分門別類地封裝在擴(kuò)展函數(shù)按照功能的不同被分門別類地封裝在多個(gè)多個(gè)DLL函數(shù)庫中,這些函數(shù)庫中,這些DLL庫存放在庫存放在PHP安安裝文件夾下。在裝文件夾下。在PHP5中,擴(kuò)展函數(shù)被存放在中,擴(kuò)展函數(shù)被存放在PHP安裝目錄的安裝目錄的ext/ 子目錄下。如圖子目錄下。如圖6-1所示:所示: 當(dāng)我們需要用到這些擴(kuò)展函數(shù)庫中的函數(shù)時(shí),當(dāng)我們需要用到這些擴(kuò)展函數(shù)庫中的函數(shù)時(shí),只需要在只需要在PHP.IN
4、I配置文件中將此擴(kuò)展庫打開配置文件中將此擴(kuò)展庫打開即可。它們在即可。它們在PHP.INI中的位置如圖中的位置如圖6-2所示:所示: 6.1 PHP5內(nèi)置函數(shù)概述內(nèi)置函數(shù)概述 6.1.2 啟用擴(kuò)展函數(shù)庫啟用擴(kuò)展函數(shù)庫 打開一個(gè)擴(kuò)展庫的方法很簡單,只需要打開一個(gè)擴(kuò)展庫的方法很簡單,只需要將將“;extension=php_xxx.dll”前面的分前面的分號號“;”去掉,并且保存去掉,并且保存php.ini,然后重,然后重新啟動(dòng)新啟動(dòng)IIS或者或者APACHE,此時(shí),此時(shí)php.ini生生效,此擴(kuò)展隨即可以使用。效,此擴(kuò)展隨即可以使用。6.2 數(shù)組函數(shù)數(shù)組函數(shù) 6.2.1 數(shù)組函數(shù)一覽數(shù)組函數(shù)一覽
5、詳見自編教材詳見自編教材P1366.2 數(shù)組函數(shù)數(shù)組函數(shù) 6.2.2 array()函數(shù)函數(shù) Array()函數(shù)用來建立一個(gè)新數(shù)組。函數(shù)函數(shù)用來建立一個(gè)新數(shù)組。函數(shù)的參數(shù)可以是一個(gè)混合類型。的參數(shù)可以是一個(gè)混合類型。 例例6-1.php 6.2 數(shù)組函數(shù)數(shù)組函數(shù) 6.2.3 count()函數(shù)函數(shù) count()函數(shù)函數(shù) 使用使用count()函數(shù)可以用來統(tǒng)計(jì)一個(gè)數(shù)組函數(shù)可以用來統(tǒng)計(jì)一個(gè)數(shù)組中元素的個(gè)數(shù)。這在循環(huán)遍歷一個(gè)未知中元素的個(gè)數(shù)。這在循環(huán)遍歷一個(gè)未知長度的數(shù)組時(shí)尤其有用。長度的數(shù)組時(shí)尤其有用。 例例6-2.php 6.2 數(shù)組函數(shù)數(shù)組函數(shù) 6.2.4 each()函數(shù)函數(shù) Each()
6、函數(shù)可以返回一個(gè)數(shù)組中當(dāng)前元函數(shù)可以返回一個(gè)數(shù)組中當(dāng)前元素的鍵和值并將數(shù)組指針向前移動(dòng)一步。素的鍵和值并將數(shù)組指針向前移動(dòng)一步。因此它常常被用在一個(gè)循環(huán)中來遍歷一因此它常常被用在一個(gè)循環(huán)中來遍歷一個(gè)數(shù)組。個(gè)數(shù)組。 例例6-3.php6.2 數(shù)組函數(shù)數(shù)組函數(shù) 6.2.5 current()、reset()、end()、next()和和prev()函數(shù)函數(shù)這這5個(gè)函數(shù)的作用都是用來進(jìn)行數(shù)組內(nèi)部指針操作的。個(gè)函數(shù)的作用都是用來進(jìn)行數(shù)組內(nèi)部指針操作的。Current():返回當(dāng)前內(nèi)部指針?biāo)傅脑氐闹?。?dāng)?shù)竭_(dá)數(shù)組:返回當(dāng)前內(nèi)部指針?biāo)傅脑氐闹怠.?dāng)?shù)竭_(dá)數(shù)組末尾時(shí)返回末尾時(shí)返回false。Reset()
7、:將內(nèi)部指針指向數(shù)組的第一個(gè)元素,并返回其值。:將內(nèi)部指針指向數(shù)組的第一個(gè)元素,并返回其值。數(shù)組為空時(shí)返回?cái)?shù)組為空時(shí)返回false。End():將內(nèi)部指針指向數(shù)組的最后一個(gè)元素,并返回其值。:將內(nèi)部指針指向數(shù)組的最后一個(gè)元素,并返回其值。Next():將數(shù)組指針指向當(dāng)前元素的下一個(gè)元素,并返回其值。:將數(shù)組指針指向當(dāng)前元素的下一個(gè)元素,并返回其值。到達(dá)末尾時(shí)返回到達(dá)末尾時(shí)返回false。Prev():將數(shù)組指針指向當(dāng)前元素的上一個(gè)元素,并返回其值,:將數(shù)組指針指向當(dāng)前元素的上一個(gè)元素,并返回其值,當(dāng)?shù)竭_(dá)頂端時(shí)返回當(dāng)?shù)竭_(dá)頂端時(shí)返回false。6.2 數(shù)組函數(shù)數(shù)組函數(shù) 6.2.5 current(
8、)、reset()、end()、next()和和prev()函數(shù)函數(shù) 在這里要注意在這里要注意current()函數(shù)和函數(shù)和next()函數(shù)函數(shù)的不同。他們雖然都是取出一個(gè)元素值,的不同。他們雖然都是取出一個(gè)元素值,但是但是current()并不移動(dòng)指針。也就是說并不移動(dòng)指針。也就是說current()返回的是未移動(dòng)指針之前所指向返回的是未移動(dòng)指針之前所指向的元素的值,而的元素的值,而next()返回的是移動(dòng)指針返回的是移動(dòng)指針之后所指向的元素的值。之后所指向的元素的值。 6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.1 字符串函數(shù)處理一覽字符串函數(shù)處理一覽 詳見自編教材詳見自編教材P1436
9、.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.2 trim(),ltrim(),rtrim(),chop()和和strlen()函數(shù)函數(shù)這這5個(gè)函數(shù)的功能類似。個(gè)函數(shù)的功能類似。Chop()函數(shù)與函數(shù)與rtrim()函數(shù)作用相同,都是去除字符串右端函數(shù)作用相同,都是去除字符串右端的空格。的空格。Ltrim()函數(shù)去除字符串左端的空格。函數(shù)去除字符串左端的空格。Trim()函數(shù)去除字符串左右兩端的空格。函數(shù)去除字符串左右兩端的空格。Strlen()函數(shù)輸出字符串長度。函數(shù)輸出字符串長度。6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.3 ucwords(),ucfirst(),strtoupper(
10、),strtolower()和和str_word_count()函數(shù)函數(shù)Ucwords()函數(shù)將每個(gè)單詞的首字母大寫函數(shù)將每個(gè)單詞的首字母大寫.Ucfirst()函數(shù)將整個(gè)字符串首字母大寫函數(shù)將整個(gè)字符串首字母大寫.Strtoupper()函數(shù)將全部字母都大寫函數(shù)將全部字母都大寫.Strtolower()函數(shù)將所有字母都變成小寫函數(shù)將所有字母都變成小寫.Str_word_count()函數(shù)統(tǒng)計(jì)字符串中單詞個(gè)數(shù)函數(shù)統(tǒng)計(jì)字符串中單詞個(gè)數(shù).6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.4 字符串查找函數(shù)字符串查找函數(shù) 1.substr_count()函數(shù)函數(shù):substr_count()函數(shù)的格式為
11、函數(shù)的格式為:int substr_count ( string haystack, string needle , int offset , int length )Substr_count()函數(shù)用來統(tǒng)計(jì)一個(gè)字符串函數(shù)用來統(tǒng)計(jì)一個(gè)字符串needle在另一個(gè)在另一個(gè)字符串字符串haystack中出現(xiàn)的次數(shù)。該函數(shù)返回值是一個(gè)整數(shù)。中出現(xiàn)的次數(shù)。該函數(shù)返回值是一個(gè)整數(shù)。有兩個(gè)可選參數(shù)有兩個(gè)可選參數(shù)offset和和length分別表示要查找的起點(diǎn)和長分別表示要查找的起點(diǎn)和長度。值得注意的是,度。值得注意的是,offset是從是從0而不是從而不是從1開始計(jì)算的開始計(jì)算的 6.3 字符串處理函數(shù)字符
12、串處理函數(shù) 6.3.4 字符串查找函數(shù)字符串查找函數(shù) 2.strrpos()函數(shù)和函數(shù)和strpos()函數(shù)函數(shù):substr_count()函數(shù)的格式為函數(shù)的格式為:int strrpos ( string haystack, mixed needle , int offset )該函數(shù)返回字符該函數(shù)返回字符needle在字符串在字符串haystack中最后一次出現(xiàn)中最后一次出現(xiàn)的位置。這里的位置。這里needle只能是一個(gè)字符,而不能是一個(gè)字符只能是一個(gè)字符,而不能是一個(gè)字符串。如果提供一個(gè)字符串,串。如果提供一個(gè)字符串,PHP也只會取字符串的第一個(gè)也只會取字符串的第一個(gè)字符使用,其他字符
13、無效。參數(shù)字符使用,其他字符無效。參數(shù)offset也是用來限制查找的也是用來限制查找的范圍范圍.6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.4 字符串查找函數(shù)字符串查找函數(shù) 2.strrpos()函數(shù)和函數(shù)和strpos()函數(shù)函數(shù): strpos()函數(shù)的格式為函數(shù)的格式為:int strpos ( string haystack, mixed needle , int offset )該函數(shù)與該函數(shù)與strrpos函數(shù)僅一字之差。但功能相差很大。函數(shù)僅一字之差。但功能相差很大。strpos()函數(shù)的函數(shù)的needle參數(shù)允許使用一個(gè)字符串,而且返參數(shù)允許使用一個(gè)字符串,而且返回的是這個(gè)字
14、符串在回的是這個(gè)字符串在haystack中第一次出現(xiàn)的位置,而不中第一次出現(xiàn)的位置,而不是最后一次。是最后一次。 6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.4 字符串查找函數(shù)字符串查找函數(shù) 3. strstr()函數(shù)和函數(shù)和strrchr()函數(shù)函數(shù):Strstr()函數(shù)和函數(shù)和strrchr()兩個(gè)函數(shù)的格式分別是:兩個(gè)函數(shù)的格式分別是:string strstr ( string haystack, string needle )string strrchr ( string haystack, string needle )由此可見,這兩個(gè)函數(shù)均返回一個(gè)字符串,而不是返回一個(gè)表由此可
15、見,這兩個(gè)函數(shù)均返回一個(gè)字符串,而不是返回一個(gè)表示位置的整數(shù)。兩個(gè)函數(shù)除了函數(shù)名不同,使用方法完全相同。示位置的整數(shù)。兩個(gè)函數(shù)除了函數(shù)名不同,使用方法完全相同。但是其作用略有不同。但是其作用略有不同。Strstr()函數(shù)用來查找一個(gè)子串函數(shù)用來查找一個(gè)子串needle在一個(gè)字符串在一個(gè)字符串haystack中第一次出現(xiàn)的位置,并返回從此位中第一次出現(xiàn)的位置,并返回從此位置開始的字符串。置開始的字符串。Strrchr()函數(shù)查找一個(gè)字符函數(shù)查找一個(gè)字符needle在一個(gè)字在一個(gè)字符串符串haystack中最后一次出現(xiàn)的位置并返回從此位置開始之中最后一次出現(xiàn)的位置并返回從此位置開始之后的字符串。后
16、的字符串。 6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.5 字符串替換函數(shù)字符串替換函數(shù) (1) nl2br()函數(shù)函數(shù)該函數(shù)的名字看起來比較怪,中間包含一個(gè)數(shù)字該函數(shù)的名字看起來比較怪,中間包含一個(gè)數(shù)字“2”,用漢語,用漢語念起來似乎有點(diǎn)別扭。實(shí)際上這里的念起來似乎有點(diǎn)別扭。實(shí)際上這里的“2”在英文中念在英文中念“two”,與與“to”諧音。這里的諧音。這里的“2”實(shí)際上就是實(shí)際上就是“to”的一種縮寫而已。的一種縮寫而已。明白了這一點(diǎn)之后,函數(shù)名字和功能都一目了然了。在很多中明白了這一點(diǎn)之后,函數(shù)名字和功能都一目了然了。在很多中文參考資料中,將此函數(shù)的功能描述為文參考資料中,將此函數(shù)的功
17、能描述為“將換行符替換成將換行符替換成HTML的換行符的換行符”,在本書中我們也沿用這一解釋。但是,在本書中我們也沿用這一解釋。但是如果查閱英文版如果查閱英文版PHP手冊,會發(fā)現(xiàn)大意為手冊,會發(fā)現(xiàn)大意為“在每一行前插入在每一行前插入HTML換行標(biāo)記換行標(biāo)記”。也就是說是。也就是說是“插入插入”而不是而不是“替換替換”。但是我們在使用此函數(shù)時(shí),就其效果而言相當(dāng)于但是我們在使用此函數(shù)時(shí),就其效果而言相當(dāng)于“替換替換”,因,因此我們?nèi)匀徊捎靡回灥慕忉?,將其歸為字符串替換函數(shù)。此我們?nèi)匀徊捎靡回灥慕忉?,將其歸為字符串替換函數(shù)。6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.5 字符串替換函數(shù)字符串替換函
18、數(shù) (2) str_replace()函數(shù)函數(shù) str_replace函數(shù)允許我們將一個(gè)字符串中的任意子串全部替函數(shù)允許我們將一個(gè)字符串中的任意子串全部替換為另外一個(gè)子串。其使用格式如下:換為另外一個(gè)子串。其使用格式如下:mixed str_replace ( mixed search, mixed replace, mixed subject , int &count )這個(gè)格式看起來有點(diǎn)復(fù)雜。我們的簡化解釋如下:這個(gè)格式看起來有點(diǎn)復(fù)雜。我們的簡化解釋如下:str_replace()函數(shù)將函數(shù)將subject中的所有中的所有search替換成替換成replace,并把替換的次數(shù)存放在
19、并把替換的次數(shù)存放在count中,其中中,其中count參數(shù)為可選。這參數(shù)為可選。這里的里的search、repalce、subject以及整個(gè)函數(shù)的返回值都是以及整個(gè)函數(shù)的返回值都是mixed類型,也就說提供的參數(shù)可以是多種類型。常用的有字類型,也就說提供的參數(shù)可以是多種類型。常用的有字符串和數(shù)組。符串和數(shù)組。 6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.6 字符串截取函數(shù)字符串截取函數(shù) PHP中常用字符串截取函數(shù)有中常用字符串截取函數(shù)有substr()等。等。Substr()函數(shù)的使用格式如下:函數(shù)的使用格式如下:string substr ( string string, int st
20、art , int length )本函數(shù)返回一個(gè)字符串中從指定位置開始指定長度的子串。參本函數(shù)返回一個(gè)字符串中從指定位置開始指定長度的子串。參數(shù)數(shù)string為原始字符串,為原始字符串,start為截取的起始位置(從為截取的起始位置(從0開始開始計(jì)),可選參數(shù)計(jì)),可選參數(shù)length為要截取的長度。值得一提的是,參數(shù)為要截取的長度。值得一提的是,參數(shù)start和和length均可以用負(fù)數(shù),均可以用負(fù)數(shù),start為負(fù)數(shù)時(shí)說明從倒數(shù)第為負(fù)數(shù)時(shí)說明從倒數(shù)第start個(gè)字符開始??;個(gè)字符開始??;length為負(fù)數(shù)時(shí)表示從為負(fù)數(shù)時(shí)表示從start位置開始取位置開始取到倒數(shù)到倒數(shù)length的位置結(jié)
21、束。的位置結(jié)束。 6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.7 字符串分割函數(shù)字符串分割函數(shù) (1) explode()函數(shù)函數(shù)array explode ( string separator, string string , int limit )explode函數(shù)用來將一個(gè)字符串按照某個(gè)指定的字符分割成多函數(shù)用來將一個(gè)字符串按照某個(gè)指定的字符分割成多段,并將每段安順序存入一個(gè)數(shù)組中。該函數(shù)的返回值就是一段,并將每段安順序存入一個(gè)數(shù)組中。該函數(shù)的返回值就是一個(gè)數(shù)組。個(gè)數(shù)組。separator參數(shù)為分割符,可以是一個(gè)字符串,也可參數(shù)為分割符,可以是一個(gè)字符串,也可以是單個(gè)字符。以是單個(gè)字符
22、。string為要處理的字符串。參數(shù)為要處理的字符串。參數(shù)limit為可選,為可選,如果設(shè)置了如果設(shè)置了limit,則返回的數(shù)組包含最多,則返回的數(shù)組包含最多l(xiāng)imit個(gè)元素,并且最個(gè)元素,并且最后那個(gè)元素將包含后那個(gè)元素將包含 string 的剩余部分。的剩余部分。 6.3 字符串處理函數(shù)字符串處理函數(shù) 6.3.7 字符串分割函數(shù)字符串分割函數(shù) (2) str_split()函數(shù)函數(shù)array str_split ( string string , int split_length )str_split()函數(shù)將一個(gè)字符串以一定長度為單位分割成多段,函數(shù)將一個(gè)字符串以一定長度為單位分割成多段
23、,并返回由每一段組成的數(shù)組。并返回由每一段組成的數(shù)組。str_split()函數(shù)不是以某個(gè)字符函數(shù)不是以某個(gè)字符串為分割依據(jù),而是以一定長度為分割依據(jù)。參數(shù)串為分割依據(jù),而是以一定長度為分割依據(jù)。參數(shù)string為要為要分割的字符串,可選參數(shù)分割的字符串,可選參數(shù)length設(shè)置分割的單位長度。設(shè)置分割的單位長度。6.4 時(shí)間日期函數(shù)時(shí)間日期函數(shù) 6.4.1 時(shí)間日期函數(shù)一覽表時(shí)間日期函數(shù)一覽表 詳見自編教材詳見自編教材P1616.4 時(shí)間日期函數(shù)時(shí)間日期函數(shù) 6.4.2 獲取當(dāng)前時(shí)間的獲取當(dāng)前時(shí)間的Unix時(shí)間戳?xí)r間戳Unix時(shí)間戳是指從時(shí)間戳是指從Unix紀(jì)元(格林威治時(shí)間紀(jì)元(格林威治時(shí)
24、間1970年年1月月1日日00時(shí)時(shí)00分分00秒)開始到當(dāng)前時(shí)間為止相隔的秒數(shù)。因此很顯然秒)開始到當(dāng)前時(shí)間為止相隔的秒數(shù)。因此很顯然Unix時(shí)間戳應(yīng)該代表一個(gè)很大的整數(shù)。時(shí)間戳應(yīng)該代表一個(gè)很大的整數(shù)。Unix時(shí)間戳在很多時(shí)時(shí)間戳在很多時(shí)候非常有用,尤其在對時(shí)間進(jìn)行加減時(shí)作用最為明顯。比如當(dāng)候非常有用,尤其在對時(shí)間進(jìn)行加減時(shí)作用最為明顯。比如當(dāng)前時(shí)間是前時(shí)間是“2006年年10月月10日日 10點(diǎn)點(diǎn)10分分10秒秒”,在這個(gè)時(shí)間基,在這個(gè)時(shí)間基礎(chǔ)上加上礎(chǔ)上加上25天天8小時(shí)小時(shí)55分分58秒,會得到一個(gè)什么時(shí)間呢?可能秒,會得到一個(gè)什么時(shí)間呢?可能推算起來比較復(fù)雜。因?yàn)槌藭r(shí)間進(jìn)位以外,還涉及
25、到不同月推算起來比較復(fù)雜。因?yàn)槌藭r(shí)間進(jìn)位以外,還涉及到不同月份天數(shù)可能不同(可能是份天數(shù)可能不同(可能是28天、天、29天、天、30天、天、31天)等等。天)等等。所以用數(shù)學(xué)方法直接加減是不行的。如果我們使用所以用數(shù)學(xué)方法直接加減是不行的。如果我們使用Unix時(shí)間戳,時(shí)間戳,那么在第一個(gè)時(shí)間的基礎(chǔ)上加上一定的秒數(shù),得到的就是第二那么在第一個(gè)時(shí)間的基礎(chǔ)上加上一定的秒數(shù),得到的就是第二個(gè)時(shí)間的個(gè)時(shí)間的Unix時(shí)間戳。然后用時(shí)間戳。然后用PHP的有關(guān)函數(shù)把這個(gè)時(shí)間戳的有關(guān)函數(shù)把這個(gè)時(shí)間戳轉(zhuǎn)換成普通時(shí)間格式顯示即可。轉(zhuǎn)換成普通時(shí)間格式顯示即可。6.4 時(shí)間日期函數(shù)時(shí)間日期函數(shù) 6.4.3 獲取指定時(shí)
26、間的獲取指定時(shí)間的Unix時(shí)間戳?xí)r間戳 PHP給我們提供了給我們提供了mktime()函數(shù)和函數(shù)和strtotime()函函數(shù)來完成這個(gè)操作。數(shù)來完成這個(gè)操作。 使用格式使用格式:int mktime ( int hour , int minute , int second , int month , int day , int year )本函數(shù)的作用是根據(jù)給出的參數(shù)返回本函數(shù)的作用是根據(jù)給出的參數(shù)返回Unix時(shí)間戳。時(shí)間戳。6個(gè)參數(shù)全個(gè)參數(shù)全都是整數(shù),分別代表小時(shí)、分鐘、秒、月、日、年。參數(shù)可以都是整數(shù),分別代表小時(shí)、分鐘、秒、月、日、年。參數(shù)可以從右向左省略,任何省略的參數(shù)會被設(shè)置成本地
27、日期和時(shí)間的從右向左省略,任何省略的參數(shù)會被設(shè)置成本地日期和時(shí)間的當(dāng)前值。當(dāng)全部參數(shù)都被省略時(shí),獲得的就是當(dāng)前時(shí)間的當(dāng)前值。當(dāng)全部參數(shù)都被省略時(shí),獲得的就是當(dāng)前時(shí)間的Unix時(shí)間戳。時(shí)間戳。6.4 時(shí)間日期函數(shù)時(shí)間日期函數(shù) 6.4.3 獲取指定時(shí)間的獲取指定時(shí)間的Unix時(shí)間戳?xí)r間戳 strtotime()函數(shù)允許我們使用一個(gè)時(shí)間字符串作函數(shù)允許我們使用一個(gè)時(shí)間字符串作為參數(shù)來獲取為參數(shù)來獲取Unix時(shí)間戳。這個(gè)時(shí)間串的順序與時(shí)間戳。這個(gè)時(shí)間串的順序與我們中文習(xí)慣較為吻合。如我們中文習(xí)慣較為吻合。如“2000-11-12 10:34:55”表示表示2000年年11月月12日日10時(shí)時(shí)34分分5
28、5秒。秒。該字符串指代了一個(gè)具體的時(shí)間,可以作為該字符串指代了一個(gè)具體的時(shí)間,可以作為strtotime()函數(shù)的參數(shù),來獲得這個(gè)時(shí)間的函數(shù)的參數(shù),來獲得這個(gè)時(shí)間的Unix時(shí)間戳。時(shí)間戳。 6.4 時(shí)間日期函數(shù)時(shí)間日期函數(shù) 6.4.4 從從Unix時(shí)間戳取得時(shí)間日期信息時(shí)間戳取得時(shí)間日期信息 前面我們學(xué)習(xí)了如何獲得一個(gè)時(shí)間的前面我們學(xué)習(xí)了如何獲得一個(gè)時(shí)間的Unix時(shí)間戳。時(shí)間戳。雖然用雖然用Unix時(shí)間戳有利于我們在計(jì)算機(jī)中進(jìn)行時(shí)時(shí)間戳有利于我們在計(jì)算機(jī)中進(jìn)行時(shí)間的計(jì)算,但是在顯示時(shí)間時(shí)還是應(yīng)該顯示成通間的計(jì)算,但是在顯示時(shí)間時(shí)還是應(yīng)該顯示成通用的用的“年月日時(shí)分秒年月日時(shí)分秒”以及星期幾等格
29、式,而不以及星期幾等格式,而不是直接輸出一個(gè)是直接輸出一個(gè)Unix時(shí)間戳。時(shí)間戳。PHP中提供了中提供了date()和和getdate()等函數(shù)來實(shí)現(xiàn)從等函數(shù)來實(shí)現(xiàn)從Unix時(shí)間戳到時(shí)間戳到通用時(shí)間日期的轉(zhuǎn)換。通用時(shí)間日期的轉(zhuǎn)換。6.4 時(shí)間日期函數(shù)時(shí)間日期函數(shù) 6.4.4 從從Unix時(shí)間戳取得時(shí)間日期信息時(shí)間戳取得時(shí)間日期信息 (1) getdate()函數(shù)函數(shù)getdate()函數(shù)用來將一個(gè)函數(shù)用來將一個(gè)Unix時(shí)間戳格式化成具體的時(shí)間日時(shí)間戳格式化成具體的時(shí)間日期信息,其使用格式如下:期信息,其使用格式如下:array getdate ( int timestamp )其中參數(shù)其中參數(shù)
30、timestamp就是一個(gè)就是一個(gè)Unix時(shí)間戳。如果不指定參數(shù),時(shí)間戳。如果不指定參數(shù),則默認(rèn)使用當(dāng)前時(shí)間。該函數(shù)返回一個(gè)數(shù)組,數(shù)組中存放了詳則默認(rèn)使用當(dāng)前時(shí)間。該函數(shù)返回一個(gè)數(shù)組,數(shù)組中存放了詳細(xì)的時(shí)間信息。通過數(shù)組下標(biāo)可以取得數(shù)組中的元素值。其下細(xì)的時(shí)間信息。通過數(shù)組下標(biāo)可以取得數(shù)組中的元素值。其下標(biāo)與值得對應(yīng)關(guān)系見表標(biāo)與值得對應(yīng)關(guān)系見表6-4。(自編教材自編教材P164)6.4 時(shí)間日期函數(shù)時(shí)間日期函數(shù) 6.4.4 從從Unix時(shí)間戳取得時(shí)間日期信息時(shí)間戳取得時(shí)間日期信息 (1) date()函數(shù)函數(shù)date()函數(shù)區(qū)別于函數(shù)區(qū)別于getdate()函數(shù)函數(shù),可以將一個(gè)可以將一個(gè)Uni
31、x時(shí)間戳所代時(shí)間戳所代表的時(shí)間按照某種容易識讀的格式輸出出來。該函數(shù)的使用格表的時(shí)間按照某種容易識讀的格式輸出出來。該函數(shù)的使用格式:式:string date ( string format , int timestamp )該函數(shù)直接返回一個(gè)字符串。這個(gè)字符串就是一個(gè)指定格式的該函數(shù)直接返回一個(gè)字符串。這個(gè)字符串就是一個(gè)指定格式的日期時(shí)間。參數(shù)日期時(shí)間。參數(shù)format是一個(gè)字符串,用來指定輸出的時(shí)間的是一個(gè)字符串,用來指定輸出的時(shí)間的格式。可選參數(shù)格式??蛇x參數(shù)timestamp是要處理的時(shí)間的是要處理的時(shí)間的Unix時(shí)間戳。如時(shí)間戳。如果參數(shù)為空,那么默認(rèn)值為當(dāng)前時(shí)間的果參數(shù)為空,那么
32、默認(rèn)值為當(dāng)前時(shí)間的Unix時(shí)間戳。時(shí)間戳。函數(shù)的重點(diǎn)是如何使用函數(shù)的重點(diǎn)是如何使用format參數(shù)。參數(shù)。format參數(shù)必須由指定參數(shù)必須由指定的字符構(gòu)成,不同的字符代表不同的特殊含義。見表的字符構(gòu)成,不同的字符代表不同的特殊含義。見表6-5。(自自編教材編教材P166)6.5 數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù) 數(shù)學(xué)函數(shù)一覽表詳見自編教材數(shù)學(xué)函數(shù)一覽表詳見自編教材P1696.6 圖像處理函數(shù)圖像處理函數(shù) PHP提供了一系列函數(shù),來實(shí)現(xiàn)在網(wǎng)站編程中提供了一系列函數(shù),來實(shí)現(xiàn)在網(wǎng)站編程中對圖像進(jìn)行編輯。雖然使用這些函數(shù)能夠?qū)崿F(xiàn)對圖像進(jìn)行編輯。雖然使用這些函數(shù)能夠?qū)崿F(xiàn)的功能十分有限,無法和功能強(qiáng)大的專業(yè)圖形的功能十
33、分有限,無法和功能強(qiáng)大的專業(yè)圖形圖像軟件相比,但是在很多需要?jiǎng)討B(tài)生成圖像、圖像軟件相比,但是在很多需要?jiǎng)討B(tài)生成圖像、自動(dòng)批量處理圖像等方面,能給自動(dòng)批量處理圖像等方面,能給PHP網(wǎng)站開發(fā)網(wǎng)站開發(fā)者帶來巨大幫助。其中最為典型的應(yīng)用有隨機(jī)者帶來巨大幫助。其中最為典型的應(yīng)用有隨機(jī)圖形驗(yàn)證碼、圖片水印、數(shù)據(jù)統(tǒng)計(jì)中餅狀圖、圖形驗(yàn)證碼、圖片水印、數(shù)據(jù)統(tǒng)計(jì)中餅狀圖、柱狀圖的生成等等。柱狀圖的生成等等。6.6 圖像處理函數(shù)圖像處理函數(shù) 6.6.1 圖像處理函數(shù)一覽圖像處理函數(shù)一覽 PHP的圖像處理函數(shù)都封裝在一個(gè)函數(shù)的圖像處理函數(shù)都封裝在一個(gè)函數(shù)庫中,這就是庫中,這就是GD庫。庫。 開啟開啟GD庫庫: 用記事
34、本打開你的用記事本打開你的php.ini配置文件,利用查找配置文件,利用查找功能找到功能找到“;extension=php_gd2.dll”這一行,這一行,將最前面的分號去掉,然后保存,重新啟動(dòng)將最前面的分號去掉,然后保存,重新啟動(dòng)IIS(Apache),這時(shí)候),這時(shí)候GD庫已經(jīng)被自動(dòng)加載了。庫已經(jīng)被自動(dòng)加載了。 6.6 圖像處理函數(shù)圖像處理函數(shù) 6.6.2 PHP基本繪圖基本繪圖 由于本部分函數(shù)個(gè)數(shù)較多,而且具體使用方法由于本部分函數(shù)個(gè)數(shù)較多,而且具體使用方法較為復(fù)雜,要在很有限的篇幅內(nèi)進(jìn)行一個(gè)較全較為復(fù)雜,要在很有限的篇幅內(nèi)進(jìn)行一個(gè)較全面的介紹是十分困難的。我們這里僅給出兩個(gè)面的介紹是十
35、分困難的。我們這里僅給出兩個(gè)例子,讓讀者先體會一下例子,讓讀者先體會一下PHP圖像處理函數(shù)的圖像處理函數(shù)的簡單使用。簡單使用。 例例6-22.php6.6 圖像處理函數(shù)圖像處理函數(shù) 6.6.3 6.6.3 網(wǎng)站圖形驗(yàn)證碼制作網(wǎng)站圖形驗(yàn)證碼制作 驗(yàn)證碼在網(wǎng)站中的作用一般是防止惡意驗(yàn)證碼在網(wǎng)站中的作用一般是防止惡意“灌水灌水”,也就是惡,也就是惡意發(fā)布垃圾信息。如果沒有驗(yàn)證碼,那么攻擊者可以利用輔意發(fā)布垃圾信息。如果沒有驗(yàn)證碼,那么攻擊者可以利用輔助軟件實(shí)現(xiàn)自動(dòng)提交、自動(dòng)注冊等。由于軟件執(zhí)行的效率高、助軟件實(shí)現(xiàn)自動(dòng)提交、自動(dòng)注冊等。由于軟件執(zhí)行的效率高、速度快且可以連續(xù)工作不疲倦,因此常用來被攻擊
36、某個(gè)網(wǎng)站,速度快且可以連續(xù)工作不疲倦,因此常用來被攻擊某個(gè)網(wǎng)站,制造大量垃圾數(shù)據(jù),嚴(yán)重影響網(wǎng)站正常運(yùn)行。制造大量垃圾數(shù)據(jù),嚴(yán)重影響網(wǎng)站正常運(yùn)行。 本實(shí)例中我們用到以下三個(gè)文件:本實(shí)例中我們用到以下三個(gè)文件:6-23-showimg.php:生成驗(yàn)證碼,將驗(yàn)證碼寫入圖片,并:生成驗(yàn)證碼,將驗(yàn)證碼寫入圖片,并輸出圖片輸出圖片6-23-login.html:調(diào)用:調(diào)用showimg.php,將用戶輸入的驗(yàn)證,將用戶輸入的驗(yàn)證碼提交到碼提交到check.php進(jìn)行驗(yàn)證。進(jìn)行驗(yàn)證。6-23-check.php:用來驗(yàn)證用戶輸入的驗(yàn)證碼是否正確。:用來驗(yàn)證用戶輸入的驗(yàn)證碼是否正確。 6.6 圖像處理函數(shù)圖
37、像處理函數(shù) 6.6.4 圖片水印制作圖片水印制作 所謂圖像水印,就是在圖像上標(biāo)上一些特殊的所謂圖像水印,就是在圖像上標(biāo)上一些特殊的圖形或符號,用來作為圖像所有者的標(biāo)志或者圖形或符號,用來作為圖像所有者的標(biāo)志或者防止圖片被盜用。防止圖片被盜用。 除了除了png格式,我們還可以把圖像輸出為格式,我們還可以把圖像輸出為jpg、gif等常用的格式。而且我們不僅可以直接創(chuàng)建等常用的格式。而且我們不僅可以直接創(chuàng)建一個(gè)圖像流來繪制圖形,還可以將一張已有的一個(gè)圖像流來繪制圖形,還可以將一張已有的圖片作為圖像流讀入,然后在此基礎(chǔ)上對圖像圖片作為圖像流讀入,然后在此基礎(chǔ)上對圖像進(jìn)行處理。進(jìn)行處理。 例例6-24.
38、php6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù) 6.7.1 文件系統(tǒng)函數(shù)一覽文件系統(tǒng)函數(shù)一覽 在網(wǎng)絡(luò)編程中要用到的文件操作大致可在網(wǎng)絡(luò)編程中要用到的文件操作大致可以分為兩大類,一種是普通文件的操作,以分為兩大類,一種是普通文件的操作,另一種是數(shù)據(jù)庫文件的操作。另一種是數(shù)據(jù)庫文件的操作。 PHP提供了一些文件操作的函數(shù),常用提供了一些文件操作的函數(shù),常用函數(shù)操作見表函數(shù)操作見表6-7。 6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù) 6.7.2 文件打開與讀寫文件打開與讀寫 1. resource fopen ( string filename, string mode , bool use_include_path
39、 ) 打開文件或者打開文件或者 URL。 其中其中string filename是要打開的文件名,必須是要打開的文件名,必須為字符串形式。如果為字符串形式。如果filename是是scheme:/.(如(如http:/.)的格式,則被當(dāng))的格式,則被當(dāng)成一個(gè)成一個(gè) URL,PHP 將搜索協(xié)議處理器(也被將搜索協(xié)議處理器(也被稱為封裝協(xié)議)來處理此模式。如果稱為封裝協(xié)議)來處理此模式。如果PHP認(rèn)為認(rèn)為filename指定的是一個(gè)本地文件(如指定的是一個(gè)本地文件(如num.txt),將嘗試在該文件上打開一個(gè)流。),將嘗試在該文件上打開一個(gè)流。 6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù) string mo
40、de是打開文件的方式,必須為字符形式,其可是打開文件的方式,必須為字符形式,其可能值列表如下:能值列表如下: r,只讀形式,文件指針指向文件的開頭。,只讀形式,文件指針指向文件的開頭。 r+,可讀可寫,文件指針指向文件的開頭。,可讀可寫,文件指針指向文件的開頭。 w,只寫形式,文件指針指向文件的開頭,打開同時(shí),只寫形式,文件指針指向文件的開頭,打開同時(shí)清除所有內(nèi)容,如果文件不存在,將嘗試建立文件。清除所有內(nèi)容,如果文件不存在,將嘗試建立文件。 w+,可讀可寫,文件指針指向文件的開頭,打開同時(shí),可讀可寫,文件指針指向文件的開頭,打開同時(shí)清除所有內(nèi)容,如果文件不存在,將嘗試建立文件。清除所有內(nèi)容,
41、如果文件不存在,將嘗試建立文件。 a,追加形式(只可寫入),文件指針指向文件的最后,追加形式(只可寫入),文件指針指向文件的最后,如果文件不存在,將嘗試建立文件。如果文件不存在,將嘗試建立文件。 a+,可讀可寫,文件指針指向文件的最后,如果文件,可讀可寫,文件指針指向文件的最后,如果文件不存在,將嘗試建立文件。不存在,將嘗試建立文件。 6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù) 2. string fgets ( int handle , int length ) 從文件指針中讀取一行。從文件指針中讀取一行。 其中其中int handle是要讀入數(shù)據(jù)的文件流指針,由是要讀入數(shù)據(jù)的文件流指針,由fopen
42、函數(shù)返回?cái)?shù)值。函數(shù)返回?cái)?shù)值。 int length是要讀入的字符個(gè)數(shù),實(shí)際讀入的字是要讀入的字符個(gè)數(shù),實(shí)際讀入的字符個(gè)數(shù)是符個(gè)數(shù)是length-1。 從從handle指向的文件中讀取一行并返回長度最多指向的文件中讀取一行并返回長度最多為為 length - 1 字節(jié)的字符串。碰到換行符(包括字節(jié)的字符串。碰到換行符(包括在返回值中)、在返回值中)、EOF 或者已經(jīng)讀取了或者已經(jīng)讀取了 length - 1 字節(jié)后停止(看先碰到那一種情況)。如果沒有字節(jié)后停止(看先碰到那一種情況)。如果沒有指定指定 length,則默認(rèn)為,則默認(rèn)為 1K,或者說,或者說 1024 字節(jié)。字節(jié)。出錯(cuò)時(shí)返回出錯(cuò)時(shí)返
43、回 FALSE。 6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù) 3. int3. int fwrite ( resource handle, string ( resource handle, string string , intstring , int length ) length ) 寫入文件。同寫入文件。同int fputs(resource handle, int fputs(resource handle, string str, intstring str, int length) length)。 fwritefwrite() () 把把 string string 的內(nèi)容寫入文件指針的
44、內(nèi)容寫入文件指針handlehandle處。如果指定了處。如果指定了lengthlength,當(dāng)寫入了,當(dāng)寫入了 length length 個(gè)字節(jié)或者寫完了個(gè)字節(jié)或者寫完了stringstring以后,寫入以后,寫入就會停止。就會停止。 fwritefwrite() () 返回寫入的字符數(shù),出現(xiàn)錯(cuò)誤時(shí)則返回寫入的字符數(shù),出現(xiàn)錯(cuò)誤時(shí)則返回返回 FALSE FALSE 。 6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù) 4. bool fclose ( resource handle ) 關(guān)閉一個(gè)已打開的文件指針。關(guān)閉一個(gè)已打開的文件指針。 將將 handle 指向的文件關(guān)閉。如果成功指向的文件關(guān)閉。如果成功
45、則返回則返回 TRUE,失敗則返回,失敗則返回 FALSE。 文件指針必須有效,并且是通過文件指針必須有效,并且是通過 fopen() 或或 fsockopen() 成功打開的。成功打開的。 其中其中int fp是是fopen函數(shù)返回的文件流指函數(shù)返回的文件流指針。針。 例例6-25.php6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù)6.7.3目錄的創(chuàng)建、刪除與遍歷目錄的創(chuàng)建、刪除與遍歷 目錄的操作也主要是利用相關(guān)的目錄函數(shù)來實(shí)現(xiàn)的。目錄的操作也主要是利用相關(guān)的目錄函數(shù)來實(shí)現(xiàn)的。 string getcwd ( void ) 取得當(dāng)前工作目錄。取得當(dāng)前工作目錄。bool chdir ( string di
46、rectory ) 將當(dāng)前目錄改為將當(dāng)前目錄改為directory。new dir(sting directory) 此函數(shù)的作用是將輸入的目錄名轉(zhuǎn)換為一個(gè)對象并返回,如下:此函數(shù)的作用是將輸入的目錄名轉(zhuǎn)換為一個(gè)對象并返回,如下: class dir dir ( string directory ) string path resource handle string read ( void ) void rewind ( void ) void close ( void ) 6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù)該對象含有兩個(gè)屬性和該對象含有兩個(gè)屬性和3 3個(gè)方法。兩個(gè)屬性為:個(gè)方法。兩個(gè)屬性為:
47、 handlehandle目錄句柄目錄句柄 pathpath 打開目錄的路徑打開目錄的路徑三個(gè)方法為:三個(gè)方法為: read ( void )read ( void )讀取目錄讀取目錄 rewind ( void )rewind ( void )復(fù)位目錄復(fù)位目錄 close ( void )close ( void )關(guān)閉目錄關(guān)閉目錄 這三個(gè)方法與后面的將要介紹的這三個(gè)方法與后面的將要介紹的readdirreaddir()()、rewinddirrewinddir()()、closedirclosedir()()三個(gè)函數(shù)的作三個(gè)函數(shù)的作用相同。用相同。resource opendirresou
48、rce opendir ( string path ) ( string path ) 打開目錄句柄。打開目錄句柄。pathpath為要打開的目錄路徑為要打開的目錄路徑. .string readdir ( resource dir_handlestring readdir ( resource dir_handle ) ) 返回目錄中下一個(gè)文件的文件名。文件名以在文件系統(tǒng)中的排序返回。返回目錄中下一個(gè)文件的文件名。文件名以在文件系統(tǒng)中的排序返回。dir_handledir_handle為目錄句柄的為目錄句柄的 resourceresource,之前由,之前由 opendiropendir()
49、()打開。打開。 成功則返回文件名,失敗返回成功則返回文件名,失敗返回 FALSEFALSE。void rewinddir ( resource dir_handlevoid rewinddir ( resource dir_handle ) ) 倒回目錄句柄。將倒回目錄句柄。將dir_handledir_handle指定的目錄流重置到目錄的開頭。指定的目錄流重置到目錄的開頭。 6.7 文件系統(tǒng)函數(shù)文件系統(tǒng)函數(shù) dir_handle為目錄句柄的為目錄句柄的 resource,之前由,之前由 opendir()打開。打開。 void closedir ( resource dir_handle
50、) 關(guān)閉目錄句柄。關(guān)閉由關(guān)閉目錄句柄。關(guān)閉由dir_handle指定的目錄流。指定的目錄流。 流必須之前被流必須之前被 opendir() 所打開。所打開。 array scandir ( string directory , int sorting_order ) 列出指定路徑中的文件和目錄。列出指定路徑中的文件和目錄。 返回一個(gè)返回一個(gè)array,包含有,包含有directory中的文件和目錄。中的文件和目錄。 參數(shù)參數(shù)directory是要被瀏覽的目錄。是要被瀏覽的目錄。 參數(shù)參數(shù)sorting_order是文件的排列順序,默認(rèn)的排序順序是文件的排列順序,默認(rèn)的排序順序是按字母升序排列。
51、如果使用了可選參數(shù)是按字母升序排列。如果使用了可選參數(shù) sorting_order(設(shè)為(設(shè)為 1),則排序順序是按字母降序排列。),則排序順序是按字母降序排列。 例例6-27.php 6.8 其他函數(shù)其他函數(shù) 據(jù)粗略統(tǒng)計(jì),據(jù)粗略統(tǒng)計(jì),PHP5提供的函數(shù)總數(shù)達(dá)提供的函數(shù)總數(shù)達(dá)3800多個(gè),分多個(gè),分屬于屬于160多個(gè)類別??梢哉f是體系極為龐大。這些函數(shù)多個(gè)類別??梢哉f是體系極為龐大。這些函數(shù)涵蓋了涵蓋了PHP編程的方方面面,給編程的方方面面,給PHP開發(fā)者帶來巨大開發(fā)者帶來巨大的便利和強(qiáng)有力的支撐。的便利和強(qiáng)有力的支撐。 雖然本章中我們已經(jīng)用了很大的篇幅來介紹一些最常雖然本章中我們已經(jīng)用了很大的篇幅來介紹一些最常用的函數(shù),但和用的函數(shù),但和PHP全部函數(shù)比起來,仍然只是極小全部函數(shù)比起來,仍然只是極小的一部分。除此之外,還有數(shù)據(jù)庫函數(shù)、的一部分。除此之外,還有數(shù)據(jù)庫函數(shù)、XML函數(shù)、函數(shù)、Socket函數(shù)、正則表達(dá)式函數(shù)、函數(shù)、正則表達(dá)式函數(shù)、COM與與DOM函數(shù)、函數(shù)、壓縮
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)主主要合同范本
- 土方供應(yīng)合同范本
- 公館購房合同范本
- 加入商場合作合同范本
- 農(nóng)村柴火售賣合同范本
- 借用單位合同范本
- 個(gè)人頂賬房合同范本
- 單位裁員解聘合同范本
- 分體空調(diào)保養(yǎng)合同范本
- 勞務(wù)大工小工合同范本
- 現(xiàn)場施工人員安全責(zé)任協(xié)議書(2篇)
- 2025年安徽中醫(yī)藥高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 醫(yī)院感染與醫(yī)療器械消毒
- 第七章 力 達(dá)標(biāo)測試卷(含答案)2024-2025學(xué)年度人教版物理八年級下冊
- 投行競爭格局-洞察分析
- 2024年公務(wù)員考試青岡縣《行政職業(yè)能力測驗(yàn)》深度預(yù)測試卷含解析
- 冠脈介入治療術(shù)后護(hù)理常規(guī)
- 物業(yè)管家客服培訓(xùn)課件
- 2024年01月23649電氣控制與PLC期末試題答案
- 餐飲業(yè)供應(yīng)鏈管理指南
- 涵洞工程專項(xiàng)施工方案
評論
0/150
提交評論