版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
PHP基礎(chǔ)案例與項目開發(fā)(微課版)項目4設(shè)計簡單的購物車程序項目導(dǎo)入云林科技因為要參加幾天后進行的“月末清倉商品促銷”活動,需要快速開發(fā)出一個簡單的購物車程序來實現(xiàn)產(chǎn)品促銷,唐經(jīng)理把任務(wù)交給技術(shù)部汪工程師(以下簡稱汪工)來完成,并提出如下需求:首先,要有展示商品名稱、價格的界面;其次,可以實現(xiàn)購物、修改商品數(shù)量、撤銷購物、清空購物車等功能。購物車界面設(shè)計如圖4-1所示。圖4-1購物車界面設(shè)計【項目分析】完成此項目需要用到PHP的一些開發(fā)基礎(chǔ)內(nèi)容。本項目將學(xué)習(xí)表單制作與驗證、Cookie與Session等相關(guān)PHP開發(fā)基礎(chǔ)內(nèi)容。再綜合運用這些知識來完成云林科技的購物車項目,全面提高綜合編程能力?!局R目標(biāo)】
熟悉表單的設(shè)計、驗證和提交。
了解正則表達式的語法規(guī)則。
熟悉Cookie和Session的工作原理。
了解PHP的圖像處理?!灸芰δ繕?biāo)】
能夠熟練使用常用的表單驗證方式。
能夠運用正則表達式來解決問題。
能夠使用Cookie和Session來解決問題?!舅刭|(zhì)目標(biāo)】具有強烈的事業(yè)心和嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)。4.1表單4.1.1表單界面設(shè)計
創(chuàng)建一個表單就是把各種表單對象放到<form></form>表單標(biāo)簽內(nèi)部,常見的表單控件有輸入標(biāo)簽<input>、多行文本框標(biāo)簽<textarea>和下拉列表標(biāo)簽<select>等。<form>標(biāo)簽的屬性如表4-1所示。屬性描述name規(guī)定表單的名稱method規(guī)定表單的請求方式,有post和get兩種,默認(rèn)為getaction其值為URL,用來定義表單處理程序enctype規(guī)定表單的編碼類型表4-1
<form>標(biāo)簽的屬性1.輸入標(biāo)簽<input>
輸入標(biāo)簽<input>是表單最常用的標(biāo)簽之一,該標(biāo)簽有Type和Name兩個屬性,分別代表輸入域的類型和名稱。
輸入標(biāo)簽<input>的Type屬性值如表4-2所示。Type屬性值描述text默認(rèn)值。定義單行文本框,在其中輸入文本。默認(rèn)可輸入20個字符button定義可單擊的按鈕checkbox定義復(fù)選框date定義日期字段(帶有Calendar控件)datetime定義日期字段(帶有Calendar和time控件)email定義電子郵件提交按鈕file定義文件上傳按鈕hidden定義隱藏輸入字段image定義圖像作為提交按鈕month定義日期字段(帶有Calendar和time控件)number定義帶有Spinner控件的數(shù)字字段password定義密碼字段。字段中的字符會被遮蔽radio定義單選按鈕range定義帶有Slider控件的數(shù)字字段reset定義重置按鈕。重置按鈕會將所有表單字段重置為初始值submit定義提交按鈕。提交按鈕向服務(wù)器發(fā)送數(shù)據(jù)表4-2
輸入標(biāo)簽<input>的Type屬性值2.多行文本框標(biāo)簽<textarea>
該標(biāo)簽用于定義一個多行的文本區(qū)域,用戶可在此文本區(qū)域中輸入無限數(shù)量的文本。
基本語法格式如下。<textareaname=namerows=valuecols=value></textarea>
多行文本框標(biāo)簽<textarea>的常見屬性如表4-3所示。屬性描述cols規(guī)定文本區(qū)域內(nèi)可見的列數(shù)form定義文本區(qū)域所屬的一個或多個表單inputmode定義文本區(qū)域所期望的輸入類型name為此文本區(qū)域規(guī)定的一個名稱readonly指示用戶無法修改文本區(qū)域內(nèi)的內(nèi)容rows規(guī)定文本區(qū)域內(nèi)可見的行數(shù)表4-3
多行文本框標(biāo)簽<textarea>的常見屬性3.下拉列表標(biāo)簽<select>
使用下拉列表可節(jié)省網(wǎng)頁空間。下拉列表標(biāo)簽<select>的語法格式如下。<selectname=namesize=valuemultiple><optionvalue="value"selected>選項<optionvalue="value">選項…</select>
下拉列表標(biāo)簽<select>的屬性如表4-4所示。屬性描述disabled規(guī)定禁用該下拉列表form規(guī)定文本區(qū)域所屬的一個或多個表單multiple規(guī)定可選擇多個選項name規(guī)定下拉列表的名稱required規(guī)定文本區(qū)域是必填的size規(guī)定下拉列表中可見選項的數(shù)目表4-4
下拉列表標(biāo)簽<select>的屬性4.<label>標(biāo)簽<label標(biāo)簽>的作用是為<input>控件定義標(biāo)注。<label>標(biāo)簽不會向用戶呈現(xiàn)任何特殊效果,但是它為鼠標(biāo)用戶改進了可用性。當(dāng)用戶選擇該標(biāo)簽時,瀏覽器會自動將焦點轉(zhuǎn)到和標(biāo)簽相關(guān)的表單控件上。
在HTML5中增加了多個新的表單輸入類型,這些新類型提供了更好的輸入控制和驗證,常用的有以下幾個。1.email類型
當(dāng)type屬性設(shè)置為email時,在提交表單時會自動驗證E-mail文本框的值是否符合E-mail的標(biāo)準(zhǔn)格式。4.1.2表單數(shù)據(jù)驗證
2.url類型
當(dāng)type屬性設(shè)置為url時,在提交表單時會自動驗證URL文本框的值是否符合URL的標(biāo)準(zhǔn)格式。3.number類型
當(dāng)type屬性設(shè)置為number時,在提交表單時會自動檢驗輸入內(nèi)容是否為數(shù)字類型,還能夠設(shè)定該文本框的數(shù)字限制。4.range類型range類型用于包含一定范圍內(nèi)數(shù)字值的輸入,還能夠設(shè)定對所接收的數(shù)字的限制。5.search類型search類型用于搜索字段,搜索字段的表現(xiàn)類似常規(guī)文本字段的表現(xiàn)。6.color類型
當(dāng)type屬性設(shè)置為color時,在提交表單時會自動檢驗輸入內(nèi)容是否為顏色格式。7.tel類型
當(dāng)type屬性設(shè)置為tel時,在提交表單時會自動檢驗輸入內(nèi)容是否為電話號碼格式。HTML5中的表單元素新增了幾個屬性,這幾個屬性專門用于驗證數(shù)據(jù)的合法性,包括正則表達式的應(yīng)用、數(shù)字取值范圍限制、是否允許為空的判斷等,常用的屬性如下。(1)placeholder屬性當(dāng)用戶還沒有輸入值時,輸入型控件可以通過placeholder屬性向用戶顯示提示信息,提示信息會以淺灰色樣式顯示在文本框中,當(dāng)文本框獲得焦點并有值后,提示信息自動消失,這在目前的系統(tǒng)中很常見。(2)autocomplete屬性瀏覽器通過autocomplete屬性能夠?qū)崿F(xiàn)用戶在文本框中輸入前幾個字母或漢字時,從存放數(shù)據(jù)的文本或數(shù)據(jù)庫中將所有以這些字母或漢字開頭的數(shù)據(jù)提示給用戶,供用戶選擇,為用戶提供方便。(3)required屬性required屬性規(guī)定輸入框不能為空,這也是最簡單的一種表單驗證方式。(4)pattern屬性pattern屬性用于驗證輸入框的模式,模式是正則表達式,如果輸入的值不符合其正則表達式,那么驗證將不會通過,無法提交表單。(5)novalidate屬性novalidate屬性規(guī)定在提交表單時不進行驗證。4.1.3表單數(shù)據(jù)獲取
常見的獲取表單數(shù)據(jù)的方法如下。1.系統(tǒng)內(nèi)置數(shù)組$_POST[]和$_GET[]系統(tǒng)內(nèi)置數(shù)組$_POST[]和$_GET[]也稱為全局?jǐn)?shù)組,主要用于接收表單提交的數(shù)據(jù)。表單標(biāo)簽<form>中的屬性method有post和get兩種取值,若method="post",則從表單提交到服務(wù)器的數(shù)據(jù)會存放到系統(tǒng)內(nèi)置數(shù)組$_POST[]中;若method="get",則從表單提交到服務(wù)器的數(shù)據(jù)會存放到系統(tǒng)內(nèi)置數(shù)組$_GET[]中,即同一個表單提交的所有數(shù)據(jù)總是以數(shù)組的方式保存在服務(wù)器中。$_REQUEST[]具有$_POST[]、$_GET[]的功能,通過表單POST方式和GET方式提交的所有數(shù)據(jù)都可以通過$_REQUEST[]獲得。$_POST[]、$_GET[]和$_REQUEST[]都是關(guān)聯(lián)數(shù)組,需要通過鍵名來訪問數(shù)組元素,語法格式如下。$_POST['表單控件名稱'];$_GET['表單控件名稱'];$_REQUEST['表單控件名稱'];2.文件上傳數(shù)組$_FILES[]
很多時候都要用到文件上傳功能,在PHP中,從瀏覽器將文件上傳到服務(wù)器之后,該文件默認(rèn)存放在系統(tǒng)盤符下的存放臨時文件的目錄中,文件的名稱也采用了臨時名稱形式,需要從數(shù)組$_FILES[]中獲取上傳文件的名稱、類型、大小、臨時位置和臨時名稱等相關(guān)信息,從而進一步將上傳的文件以指定的名稱存儲到指定的位置。$_FILES[]是一個二維關(guān)聯(lián)數(shù)組,第一個維度的鍵名是表單界面文件輸入框name屬性的取值,第二個維度的鍵名是由系統(tǒng)提供的固定鍵名,常用的有name、type、size、tmp_name和error等。$_FILES[]語法格式如下。$_FILES['上傳控件名稱']; //為一數(shù)組,包含上傳文件的所有信息$_FILES['上傳控件名稱']['name']; //客戶端上傳文件的原名稱,不包含路徑$_FILES['上傳控件名稱']['type']; //文件的擴展類型(如果瀏覽器提供此信息的話)$_FILES['上傳控件名稱']['size']; //已上傳文件的大小,單位為字節(jié)$_FILES['上傳控件名稱']['tmp_name']; //文件被上傳后在服務(wù)器端存儲的臨時文件名
$_FILES['上傳控件名稱']['error']; //該文件上傳導(dǎo)致的錯誤代碼文件上傳之后以臨時文件名方式保存在臨時目錄下,需要將其移至指定的目錄,按照指定的名稱來存放,實現(xiàn)這一功能要使用函數(shù)move_uploaded_file()。函數(shù)move_uploaded_file()只支持GB2312或GBK編碼,并不支持UTF-8編碼,若頁面字符集編碼類型是UTF-8,并且上傳的文件名稱包含漢字,那么該函數(shù)將無法成功執(zhí)行。因此,在使用該函數(shù)之前,需要先使用iconv()函數(shù)轉(zhuǎn)換名稱中的漢字編碼來解決問題。要實現(xiàn)從瀏覽器上傳文件的功能,還要將表單標(biāo)簽<form>中的enctype屬性值設(shè)置為multipart/form-data,enctype屬性值默認(rèn)為application/x-www-form-urlencoded,不能用于上傳文件。4.2.1正則表達式簡介
正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符及這些特定字符的組合組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達對字符串的一種過濾邏輯。由于正則表達式的主要應(yīng)用對象是文本,因此它在一些常用的文本編輯器中都得到了應(yīng)用,小到EditPlus編輯器,大到Word、VisualStudio等編輯器,都可以使用正則表達式來處理文本內(nèi)容。最簡單的匹配就是直接給定字符匹配。例如,用字符a去匹配aabab,會匹配出3個結(jié)果,分別是字符串中的第1個、第2個和第4個字符。這種匹配是最簡單的情況,但往往在實際處理中會復(fù)雜得多。4.2
正則表達式4.2.2正則表達式的語法
正則表達式是由普通字符(如字符a到z)以及特殊字符(稱為元字符)組成的文字模式。模式描述在搜索文本時要匹配的一個或多個字符串。正則表達式作為一個模式,將某個字符模式與所搜索的字符串進行匹配。1.元字符在前面的例子中,^、\d及$等符號代表特定的匹配意義,我們稱之為元字符。常見的元字符如表4-5所示。元字符描述^匹配行或者字符串的起始位置,有時還會匹配整個文檔的起始位置$匹配行或字符串的結(jié)尾\b不會消耗任何字符,只匹配一個位置,常用于匹配單詞邊界\d匹配數(shù)字\w匹配字母、數(shù)字、下畫線\s匹配空格.匹配除換行符外的任意字符[abc]字符組,匹配包含abc的字符\W\w的反義,匹配任意不是字母、數(shù)字、下畫線的字符\S\s的反義,匹配任意不是空格的字符\D\d的反義,匹配任意非數(shù)字的字符\B\b的反義,匹配不是單詞開頭或結(jié)束的位置[^abc]匹配除abc外的任意字符表4-5
常見的元字符2.重復(fù)匹配正則表達式的“威力”在于其能夠在模式中包含選擇和循環(huán),可以用一些重復(fù)規(guī)則來表達循環(huán)匹配。正則表達式中的重復(fù)如表4-6所示。重復(fù)描述*重復(fù)前面的子表達式0次或多次+重復(fù)前面的子表達式1次或多次?重復(fù)前面的子表達式0次或1次{n}重復(fù)n次,n是一個非負整數(shù){n,}至少匹配n次,n是一個非負整數(shù){n,m}重復(fù)n~m次,n和m均為非負整數(shù)表4-6
正則表達式中的重復(fù)3.普通字符普通字符包括沒有顯式指定為元字符的所有可輸出和不可輸出的字符。這包括所有大寫和小寫字母、所有數(shù)字、標(biāo)點符號和一些其他符號。4.分枝分枝是指規(guī)定幾個規(guī)則,如果滿足任意一個規(guī)則,則都當(dāng)作匹配成功。具體來說,就是用“|”符號把各規(guī)則分開,且條件從左至右匹配。由于分枝規(guī)定,只要匹配成功,就不再對后面的條件加以匹配,所以如果想匹配有包含關(guān)系的內(nèi)容,則要注意規(guī)則的順序。5.分組在正則表達式中,可以用圓括號將一些規(guī)則括起來當(dāng)作分組,分組可以作為一個元字符來看待。6.貪婪與懶惰匹配正則表達式默認(rèn)情況下,會在滿足匹配條件的情況下盡可能地匹配更多的內(nèi)容。例如,用a.*b來匹配aabab,它會匹配整個aabab,而不會只匹配到aab,這就是貪婪匹配。與貪婪匹配對應(yīng)的是,在滿足匹配條件的情況下盡可能地匹配更少的內(nèi)容,這就是懶惰匹配。上述例子對應(yīng)的懶惰匹配規(guī)則為a.*?b,如果用該表達式去匹配aabab,那么會得到aab和ab兩個匹配結(jié)果。常用的懶惰限定符如表4-7所示。懶惰限定符描述*?重復(fù)任意次,但盡可能少重復(fù)+?重復(fù)
1次或更多次,但盡可能少重復(fù)??重復(fù)
0次或
1次,但盡可能少重復(fù){n,}重復(fù)
n
次以上,但盡可能少重復(fù){n,m}重復(fù)
n
~
m
次,但盡可能少重復(fù)表4-7
常用的懶惰限定符7.模式修正符模式修正符是標(biāo)記在整個正則表達式之外的,可以看作對正則表達式的一些補充說明。常用的模式修正符如表4-8所示。表4-8
常用的模式修正符模式修正符描述i模式中的字符將同時匹配大小寫字母m將字符串視為多行s將字符串視為單行,換行符作為普通字符x將模式中的空格忽略e配合函數(shù)preg_replace()使用,把匹配來的字符串當(dāng)作正則表達式執(zhí)行A強制僅從目標(biāo)字符串的開頭開始匹配D模式中的$元字符僅匹配目標(biāo)字符串的結(jié)尾U匹配最近的字符串u模式字符串被當(dāng)成UTF-84.2.3正則表達式的應(yīng)用
在PHP中,正則表達式主要用于以下情況。(1)正則匹配:根據(jù)正則表達式匹配相應(yīng)的內(nèi)容。(2)正則替換:根據(jù)正則表達式匹配內(nèi)容并替換。(3)正則分割:根據(jù)正則表達式分割字符串。1.正則匹配preg_match()函數(shù)用于進行正則表達式匹配,成功則返回1,否則返回0。語法格式如下。intpreg_match(stringpattern,stringsubject[,arraymatches])參數(shù)說明如表4-9所示。參數(shù)說明pattern正則表達式subject需要匹配檢索的對象matches可選,存儲匹配結(jié)果的數(shù)組,$matches[0]將包含與整個模式匹配的文本,$matches[1]將包含與第一個捕獲的括號中的子模式匹配的文本,以此類推表4-9
preg_match()函數(shù)的參數(shù)說明2.正則全局匹配preg_match_all()函數(shù)用于進行正則表達式全局匹配,成功則返回整個模式匹配的次數(shù)(可能為0),如果出錯則返回false。語法格式如下。intpreg_match_all(stringpattern,stringsubject,arraymatches[,intflags])參數(shù)說明如表4-10所示。參數(shù)說明pattern正則表達式subject需要匹配檢索的對象matches存儲匹配結(jié)果的數(shù)組flags可選,指定匹配結(jié)果放入matches中的順序表4-10
preg_match_all()函數(shù)的參數(shù)說明3.正則替換preg_replace()函數(shù)用于正則表達式的搜索和替換。語法格式如下。mixedpreg_replace(mixedpattern,mixedreplacement,mixedsubject[,intlimit])參數(shù)說明如表4-11所示。參數(shù)說明pattern正則表達式replacement替換的內(nèi)容subject需要匹配替換的對象limit可選,指定替換的個數(shù),如果省略
limit或者其值為-1,則所有的匹配項都會被替換表4-11
preg_replace()函數(shù)的參數(shù)說明4.正則分割preg_split()函數(shù)用于通過一個正則表達式分割給定的字符串。語法格式如下。arraypreg_split(stringpattern,stringsubject[,intlimit[,intflags]])其返回數(shù)組,包含subject中沿著與pattern匹配的邊界所分割的子串。參數(shù)說明如表4-12所示。參數(shù)說明pattern正則表達式subject需要匹配分割的對象limit可選,如果指定了limit,則最多返回limit個子串flags設(shè)定limit為-1后可選表4-12
preg_split()函數(shù)的參數(shù)說明基于TCP的超文本傳送協(xié)議(HypertextTransferProtocol,HTTP)是無狀態(tài)的協(xié)議。狀態(tài)是指用戶的訪問狀態(tài):當(dāng)前是否登錄、當(dāng)前訪問的是哪一個頁面、在購物車?yán)锎娣帕四男┥唐返?。所謂無狀態(tài),直白地說就是請求與請求之間無法共享數(shù)據(jù),前一次請求做的事情,后一次請求一概不知,當(dāng)前請求不知道是否登錄,不知道訪問過哪些頁面,也不知道購物車?yán)镉心男┥唐贰?.3
Cookie服務(wù)器分不清訪問的用戶是誰,即使是同一個瀏覽器多次發(fā)送請求給服務(wù)器,服務(wù)器也不知道就是剛才那個瀏覽器。早期沒有服務(wù)器端存儲功能,因此在當(dāng)時的解決方案中是讓客戶端來擔(dān)此重任,使用的專業(yè)術(shù)語叫Cookie。Cookie是一種在遠程瀏覽器端存儲數(shù)據(jù)并以此來跟蹤和識別用戶的機制。我們可以用setcookie()函數(shù)或setrawcookie()函數(shù)來設(shè)置Cookie。Cookie是HTTP標(biāo)頭的一部分,因此setcookie()函數(shù)必須在其他信息被輸出到瀏覽器前被調(diào)用??梢允褂幂敵鼍彌_函數(shù)來延遲腳本的輸出,直到按需求設(shè)置好所有的Cookie或者其他HTTP標(biāo)頭。1.創(chuàng)建setcookie()函數(shù)用于設(shè)置Cookie,它必須位于<html>標(biāo)簽之前。語法格式如下。boolsetcookie(string$name[,string$value=""[,int$expire=0[,string$path=""[,string$domain=""[,bool$secure=false[,bool$httponly=false]]]]]]);2.讀取PHP的$_COOKIE變量用于讀取Cookie的值。3.刪除當(dāng)刪除Cookie時,應(yīng)當(dāng)使過期日期變更為過去的時間點。為了解決HTTP無狀態(tài)的問題,可以使用Cookie在客戶端保存一些狀態(tài),但是在客戶端使用Cookie存儲是有很多問題的,具體如下。泄露隱私。有數(shù)量限制。有尺寸限制。不安全。4.4
Session1.啟動session_start()函數(shù)用于創(chuàng)建新會話或者重用現(xiàn)有會話。如果通過GET或POST方式,或者使用Cookie提交了會話ID,則會重用現(xiàn)有會話。當(dāng)會話自動開始或者通過session_start()函數(shù)手動開始時,PHP內(nèi)部會調(diào)用會話管理器的open()和read()回調(diào)函數(shù)。想要使用命名會話,需在調(diào)用session_start()函數(shù)之前調(diào)用session_name()函數(shù)。session_start()函數(shù)的語法格式如下。boolsession_start([array$options=[]]);參數(shù)options是一個關(guān)聯(lián)數(shù)組,如果提供,那么會用其中的項目覆蓋會話配置指示中的配置項。此數(shù)組中的鍵無須包含“session.”前綴。除了常規(guī)的會話配置指示項,還可以在此數(shù)組中包含read_and_close選項。如果將此選項的值設(shè)置為true,那么會話文件會在讀取完畢馬上關(guān)閉。函數(shù)返回值:成功開始會話則返回true,否則返回false。2.讀取PHP的$_SESSION變量用于讀取Session的值。3.刪除如果需要刪除某些Session數(shù)據(jù),則可以使用unset()或session_destroy()函數(shù)。session_destroy()函數(shù)用于銷毀當(dāng)前會話中的全部數(shù)據(jù),但是不會重置當(dāng)前會話所關(guān)聯(lián)的全局變量,也不會重置會話Cookie。如果需要再次使用會話變量,則必須重新調(diào)用session_start()函數(shù)。為了徹底銷毀會話,比如在用戶退出登錄時,必須同時重置會話ID。如果是通過Cookie方式傳送會話ID,那么同時需要調(diào)用setcookie()函數(shù)來刪除客戶端的會話Cookie。PHP并不僅限于創(chuàng)建HTML輸出,也可以創(chuàng)建和處理GIF、PNG、JPEG、BMP等多種格式的圖像。更加方便的是,PHP可以直接將圖像數(shù)據(jù)流輸出到瀏覽器。要想在PHP中使用圖像處理功能,需要連帶GD庫一起編譯PHP。GD庫和PHP可能需要其他的庫,這取決于需要處理的圖像格式??梢允褂肞HP中的圖像函數(shù)來獲取下列圖像格式文件的大?。篔PEG、GIF、PNG、SWF、TIFF和JPEG2000。1.創(chuàng)建圖像在PHP中可以用表4-13所示的函數(shù)來創(chuàng)建圖像。4.5
圖像處理函數(shù)描述imagecreate()創(chuàng)建一個基于調(diào)色板的圖像imagecreatetruecolor()創(chuàng)建一個真彩色圖像imagecreatefrombmp()由BMP庫或URL創(chuàng)建一個新圖像imagecreatefromgd()由GD庫或URL創(chuàng)建一個圖像imagecreatefromgif()由GIF圖像文件或URL創(chuàng)建一個圖像imagecreatefromjpeg()由JPEG圖像文件或URL創(chuàng)建一個圖像imagecreatefrompng()由PNG圖像文件或URL創(chuàng)建一個圖像imagecreatefromstring()從字符串中的圖像流創(chuàng)建一個圖像表4-13
常見的創(chuàng)建圖像函數(shù)2.顏色處理PHP中有豐富的顏色處理函數(shù),常見的顏色處理函數(shù)如表4-14所示。函數(shù)描述imagearc()畫橢圓弧imagechar()水平地畫一個字符imagecolorallocate()為一幅圖像分配顏色imagesetstyle()設(shè)定畫線的風(fēng)格imageline()畫一條線段imagefill()區(qū)域填充imagefilledarc()畫一個橢圓弧并填充imagefilledellipse()畫一個橢圓并填充imagefilledpolygon()畫一個多邊形并填充imagefilledrectangle()畫一個矩形并填充imagesetpixel()畫一個單一像素imagesetthickness()設(shè)定畫線的寬度imagesy()取得圖像高度imagesx()取得圖像寬度表4-14
常見的顏色處理函數(shù)3.輸出圖像可用表4-15所示的函數(shù)來輸出圖像。函數(shù)描述imagebmp()以BMP格式將圖像輸出到瀏覽器或文件imagegif()以GIF格式將圖像輸出到瀏覽器或文件imagejpeg()以JPEG格式將圖像輸出到瀏覽器或文件imagepng()以PNG格式將圖像輸出到瀏覽器或文件imagewbmp()以WBMP格式將圖像輸出到瀏覽器或文件imagewebp()以WebP格式將圖像輸出到瀏覽器或文件imagexbm()以XBM格式將圖像輸出到瀏覽器或文件表4-15
常見的輸出圖像函數(shù)4.在圖像中添加文字可用表4-16所示的函數(shù)來在圖像中添加文字。函數(shù)描述imagefttext()使用FreeType2字體將文本寫入圖像imagestring()在圖像中水平地畫一行字符串imagestrin
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全事故暗訪紀(jì)實講解
- 醫(yī)院患者隨訪話術(shù)
- 2026秋招:西南證券筆試題及答案
- 2026秋招:甘肅電力投資集團試題及答案
- 2026年電商平臺供應(yīng)商合作合同協(xié)議
- 健身服務(wù)管理合同2026年
- 2025-2026學(xué)年秋季學(xué)期XX縣第二中學(xué)高一年級地理教學(xué)反思:核心素養(yǎng)與生活地理結(jié)合實踐
- 2025-2026學(xué)年第一學(xué)期初一年級地理教學(xué)反思與改進措施(XX市第五中學(xué))
- 2025-2026學(xué)年第一學(xué)期XX市第二實驗學(xué)校“家校共育”工作總結(jié)(家長會-家訪-溝通)
- 員工自我價值實現(xiàn)培訓(xùn)
- GB/T 45078-2024國家公園入口社區(qū)建設(shè)指南
- 《東北解放區(qū)工業(yè)戲劇研究(1945-1949年)》
- 新版中國食物成分表
- 安全生產(chǎn)標(biāo)準(zhǔn)化基本規(guī)范評分表
- 附件3:微創(chuàng)介入中心評審實施細則2024年修訂版
- 嗜血細胞綜合征查房
- 財務(wù)共享中心招聘筆試環(huán)節(jié)第一部分附有答案
- veeam-backup-11-0-quick-start-guide-hyperv中文版完整文件
- 安徽紅陽化工有限公司年產(chǎn)1萬噸有機酯(三醋酸甘油酯)、5500噸醋酸鹽系列產(chǎn)品擴建項目環(huán)境影響報告書
- 汽車各工況下輪轂軸承壽命計算公式EXCEL表
- 教務(wù)工作的培訓(xùn)內(nèi)容
評論
0/150
提交評論