某知名搜索引擎提供商PHP工程師面試筆試真題及答案_第1頁(yè)
某知名搜索引擎提供商PHP工程師面試筆試真題及答案_第2頁(yè)
某知名搜索引擎提供商PHP工程師面試筆試真題及答案_第3頁(yè)
某知名搜索引擎提供商PHP工程師面試筆試真題及答案_第4頁(yè)
某知名搜索引擎提供商PHP工程師面試筆試真題及答案_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

某知名搜索引擎提供商PHP工程師面試筆試真題及答案一、選擇題1、以下說(shuō)法錯(cuò)誤的是______

A.在外部訪問(wèn)靜態(tài)成員屬性時(shí),使用類(lèi)名::靜態(tài)成員屬性名

B.在外部訪問(wèn)靜態(tài)成員屬性時(shí),使用$實(shí)例化對(duì)象->靜態(tài)成員屬性名

C.在外部訪問(wèn)靜態(tài)方法時(shí),使用$實(shí)例化對(duì)象->靜態(tài)方法名

D.在外部訪問(wèn)靜態(tài)方法時(shí),使用類(lèi)名::靜態(tài)方法名

2、以下程序近似地表示了一種在PHP4中無(wú)法實(shí)現(xiàn)的特性,這個(gè)特性叫______

<?php

classmy_class{

functionmy_funct($my_param){

user_errors("Pleasedefineme",E_ERROR);

}

functionb(){

return10;

}

}

?>

A.多重繼承

B.封裝

C.抽象方法

D.private方法

E.函數(shù)重載

3、以下有關(guān)phpinfo()函數(shù)的說(shuō)法中,不正確的是______

A.它可以被用來(lái)查看PHP的配置信息

B.可以用它來(lái)修改PHP的環(huán)境變量

C.可以利用它來(lái)查看PHP是否啟用了某個(gè)擴(kuò)展庫(kù)

D.$_SERVER中包含的內(nèi)容可以在phpinfo中查看到

4、以下關(guān)于MySQL索引的說(shuō)法中,不正確的是______

A.500萬(wàn)數(shù)據(jù)的用戶(hù)表user在性別字段sex上建立了索引,語(yǔ)句“select*fromuserwheresex=1”并不會(huì)提速多少

B.一般情況下不鼓勵(lì)使用like操作,類(lèi)似地“l(fā)ike"abc%"”可以使用索引

C.唯一索引允許空值,而主鍵索引不允許為空值,除此之外它們是相同的

D.對(duì)于需要寫(xiě)入數(shù)據(jù)的操作,例如DELETE、UPDATE以及INSERT操作,索引會(huì)降低它們的速度

5、以下說(shuō)法正確的是______

A.使用索引能加快插入數(shù)據(jù)的速度

B.良好的索引策略有助于防止跨站攻擊

C.應(yīng)當(dāng)根據(jù)數(shù)據(jù)庫(kù)的實(shí)際應(yīng)用合理設(shè)計(jì)索引

D.刪除一條記錄將導(dǎo)致整個(gè)表的索引被破壞

E.只有數(shù)字記錄行需要索引

6、下列關(guān)于全文檢索技術(shù)的說(shuō)法中,不正確的是______

A.Sphinx是一個(gè)基于SQL的全文檢索引擎,可以結(jié)合MySQL做全文搜索,它可以提供比數(shù)據(jù)庫(kù)本身更專(zhuān)業(yè)的搜索功能

B.Solr是新一代的全文檢索組件,它比Lucene的搜索效率高很多,還能支持HTTP的訪問(wèn)方式,PHP調(diào)用Solr也很方便

C.MySQL中把一個(gè)字段建立FULLTEXT索引,就可以實(shí)現(xiàn)全文檢索,目前MyISAM和InnoDB的table都支持FULLTEXT索引

D.Lucene附帶的二元分詞分析器CJKAnalyzer切詞速度很快,能滿足一般的全文檢索需要

7、默認(rèn)情況下,PHP把會(huì)話(Session)數(shù)據(jù)存儲(chǔ)在______里。

A.文件系統(tǒng)

B.?dāng)?shù)據(jù)庫(kù)

C.虛擬內(nèi)容

D.共享內(nèi)存

E.以上都不是

8、以下關(guān)于大型網(wǎng)站的說(shuō)法中,正確的是______

A.大型網(wǎng)站程序異常后,程序員可以依據(jù)服務(wù)器日志信息定位錯(cuò)誤,然后在服務(wù)器上用vim修正錯(cuò)誤即可

B.大型網(wǎng)站開(kāi)發(fā)有很多細(xì)節(jié)和小網(wǎng)站存在巨大差異,如瀏覽次數(shù),小網(wǎng)站用數(shù)據(jù)庫(kù)記錄,大型網(wǎng)站常采用NoSQL來(lái)存儲(chǔ)

C.大型網(wǎng)站選擇開(kāi)發(fā)語(yǔ)言很重要,PHP只適合開(kāi)發(fā)中小型網(wǎng)站,并不適合開(kāi)發(fā)大型網(wǎng)站

D.虛擬機(jī)技術(shù)不能用在大型網(wǎng)站上,是因?yàn)樘摂M機(jī)性能較差,而大型網(wǎng)站的訪問(wèn)壓力太大,采用后服務(wù)器可能會(huì)宕機(jī)

9、以下關(guān)于NOSQL的說(shuō)法中,不正確的是______

A.MongoDB支持CAP定理中的AP,MySQL支持CAP中的CA,全部都支持不可能存在

B.Redis支持字符串、哈希、列表、集合、有序集合等數(shù)據(jù)結(jié)構(gòu),目前Redis不支持事務(wù)

C.Memcache既支持TCP協(xié)議,也支持UDP協(xié)議,可以把PHP的Session存放到Memcache中

D.MongoDB不用先創(chuàng)建Collection的結(jié)構(gòu)就可以直接插入數(shù)據(jù),目前MongoDB不支持事務(wù)

10、在HTTP協(xié)議中,用于發(fā)送大量數(shù)據(jù)的方法是______

A.get

B.post

C.put

D.options

二、填空題11、在HTTP1.0中,狀態(tài)碼401的含義是______;如果返回“找不到文件”的提示,則可用header函數(shù),其語(yǔ)句為_(kāi)_____。

12、以Apache模塊的方式安裝PHP,在文件http.conf中首先要用語(yǔ)句______動(dòng)態(tài)裝載PHP模塊,然后用語(yǔ)句______使得Apache把所有擴(kuò)展名為PHP的文件都作為PHP腳本處理。

13、PHP可以執(zhí)行系統(tǒng)命令的函數(shù)是(至少寫(xiě)出3個(gè))______。

14、Cookie存儲(chǔ)在______,Session是將數(shù)據(jù)存儲(chǔ)在______,會(huì)話的生命周期默認(rèn)為_(kāi)_____。

15、語(yǔ)句include和require都能把另外一個(gè)文件包含到當(dāng)前文件中,它們的區(qū)別是______;為了避免多次包含同一文件,可以用語(yǔ)句______來(lái)代替它們。

三、簡(jiǎn)答題16、面向?qū)ο蟮奶卣魇鞘裁?

17、寫(xiě)出3種以上MySQL數(shù)據(jù)庫(kù)存儲(chǔ)引擎的名稱(chēng)(提示:不區(qū)分大小寫(xiě))。

18、如何優(yōu)化MySQL數(shù)據(jù)庫(kù)?

19、程序、進(jìn)程與線程的區(qū)別是什么?

20、PHP的垃圾回收機(jī)制是什么?

四、編程題21、如何快速下載一個(gè)遠(yuǎn)程HTTP服務(wù)器上的圖片文件到本地?

22、輸出用戶(hù)的IP地址,并且判斷用戶(hù)的IP地址是否在00~50之間。

23、請(qǐng)寫(xiě)一個(gè)函數(shù)驗(yàn)證電子郵件的格式是否正確。

24、對(duì)于用戶(hù)輸入一串字符串$string,要求$string中只能包含大于0的數(shù)字和英文逗號(hào),請(qǐng)用正則表達(dá)式驗(yàn)證,對(duì)于不符合要求的$string返回出錯(cuò)信息。

答案:

一、選擇題

1、BC[解析]

在類(lèi)內(nèi)部,一個(gè)靜態(tài)方法調(diào)用另外一個(gè)靜態(tài)方法(屬性)的格式:self::靜態(tài)方法(靜態(tài)屬性)。而在類(lèi)外部訪問(wèn)靜態(tài)方法(屬性)的格式:類(lèi)名::靜態(tài)方法(屬性)。此外,靜態(tài)變量是屬于類(lèi)的,也就是說(shuō),在沒(méi)有實(shí)例化對(duì)象時(shí)也可以訪問(wèn)靜態(tài)變量。選項(xiàng)B選項(xiàng)C正確。

所以,本題的答案為BC。2、C[解析]

在面向?qū)ο缶幊陶Z(yǔ)言中,抽象方法指一些只有方法聲明,而沒(méi)有具體方法體的方法。如果my_class是繼承了父類(lèi),子類(lèi)沒(méi)有實(shí)現(xiàn)my_funct()方法,那么在調(diào)用子類(lèi)的這個(gè)方法時(shí)會(huì)拋出一個(gè)錯(cuò)誤。顯然,這種方式簡(jiǎn)單地實(shí)現(xiàn)了類(lèi)似抽象方法的功能。選項(xiàng)C正確。

所以,本題的答案為C。3、B[解析]phpinfo()函數(shù)主要用來(lái)查看PHP的配置信息、啟用的擴(kuò)展庫(kù)和$_SERVER中包含的內(nèi)容,但是不能用來(lái)修改PHP的環(huán)境變量。選項(xiàng)B正確。

所以,本題的答案為B。4、C[解析]

唯一性索引列允許空值,而主鍵列不允許為空值,但除了這個(gè)不同外其他也并不是都相同的,如主鍵可以做外鍵,唯一索引不可以。選項(xiàng)C的說(shuō)法是錯(cuò)誤的。

所以,本題的答案為C。5、C[解析]

索引的作用主要是幫助數(shù)據(jù)庫(kù)快速查找到對(duì)應(yīng)的數(shù)據(jù),并不能加快插入數(shù)據(jù)的速度,選項(xiàng)A錯(cuò)誤。

索引不能夠幫助防止跨站攻擊,選項(xiàng)B錯(cuò)誤。

創(chuàng)建合理的索引需要分析數(shù)據(jù)庫(kù)的實(shí)際用途并找出它的弱點(diǎn)。優(yōu)化腳本中的冗余查詢(xún),同樣也能提高數(shù)據(jù)庫(kù)效率。索引是占用物理空間的,所以在實(shí)際的應(yīng)用中要合理設(shè)計(jì)使用索引。選項(xiàng)C正確。

索引是一種表結(jié)構(gòu),刪除一條數(shù)據(jù)也不會(huì)影響到整個(gè)表的索引,并且索引不一定是數(shù)字,也可以是字符串。選項(xiàng)D選項(xiàng)E錯(cuò)誤。

所以,本題的答案為C。6、B[解析]Sphinx是一個(gè)基于SQL的全文檢索引擎,可以結(jié)合MySQL、PostgreSQL做全文搜索,它可以提供比數(shù)據(jù)庫(kù)本身更專(zhuān)業(yè)的搜索功能,使得應(yīng)用程序更容易實(shí)現(xiàn)專(zhuān)業(yè)化的全文檢索。

Solr是一個(gè)獨(dú)立的企業(yè)級(jí)搜索應(yīng)用服務(wù)器,用戶(hù)可以通過(guò)HTTP請(qǐng)求訪問(wèn)它,它是采用Java5開(kāi)發(fā)的,基于Lucene的全文搜索服務(wù)器,同時(shí)對(duì)其進(jìn)行了擴(kuò)展,提供了比Lucene更加豐富的查詢(xún)語(yǔ)言,實(shí)現(xiàn)了可配置、可擴(kuò)展并對(duì)查詢(xún)性能進(jìn)行了優(yōu)化,并且提供了一個(gè)完善的功能管理界面,是一款非常優(yōu)秀的全文搜索引擎。Solr比Lucene的搜索效率高很多,但是PHP調(diào)用Solr并不方便,選項(xiàng)B的說(shuō)法錯(cuò)誤,所以,選項(xiàng)B正確。

MySQL中的MyISAM和InnoDB都是支持FULLTEXT全文索引的。全文搜索引擎可以在不使用模板匹配操作的情況下查找單詞或短語(yǔ)。

所以,本題的答案為B。7、A[解析]

默認(rèn)情況下,PHP把所有會(huì)話信息存儲(chǔ)在/tmp文件夾中;在沒(méi)有這個(gè)文件夾的操作系統(tǒng)中(例如Windows),必須在php.ini中給session.save_path設(shè)置一個(gè)合適的位置(例如C:\Temp)。

所以,本題的答案為A。8、B[解析]

當(dāng)大型網(wǎng)站出現(xiàn)異常后,可以根據(jù)服務(wù)器的日志信息定位錯(cuò)誤,但是要修改錯(cuò)誤并不是簡(jiǎn)單地通過(guò)vim就可以解決的,還需要分析錯(cuò)誤發(fā)生的原因,根據(jù)錯(cuò)誤去修改程序中相對(duì)應(yīng)的bug,避免異常再次發(fā)生。如果是服務(wù)器的配置文件出現(xiàn)的問(wèn)題導(dǎo)致出錯(cuò),那么用vim修改好配置文件后,還需要重啟服務(wù)器。選項(xiàng)A錯(cuò)誤。

大型網(wǎng)站的訪問(wèn)次數(shù)非常多,不能像小網(wǎng)站針對(duì)瀏覽次數(shù)那樣可以時(shí)常向數(shù)據(jù)庫(kù)進(jìn)行寫(xiě)操作,因?yàn)檫@樣會(huì)使數(shù)據(jù)庫(kù)負(fù)擔(dān)加重。所以大型網(wǎng)站會(huì)通過(guò)NoSQL減少數(shù)據(jù)庫(kù)的請(qǐng)求和操作,從而把瀏覽次數(shù)緩存在NoSQL中。選項(xiàng)B正確。

開(kāi)發(fā)語(yǔ)言只是一個(gè)工具,目前PHP是用于開(kāi)發(fā)網(wǎng)站最多的語(yǔ)言,并不是只能開(kāi)發(fā)中小型網(wǎng)站,它也可以用來(lái)開(kāi)發(fā)大型的網(wǎng)站,例如亞馬孫、優(yōu)酷、51job等,選項(xiàng)C錯(cuò)誤。

虛擬機(jī)技術(shù)并不是不可用在大型網(wǎng)站上,因?yàn)樗梢援a(chǎn)生非常多的虛擬機(jī)將大型網(wǎng)站的流量進(jìn)行分散,減少同一個(gè)服務(wù)器的訪問(wèn)壓力,將壓力分散到不同的虛擬機(jī)中,而虛擬機(jī)的性能問(wèn)題是可以通過(guò)分配內(nèi)存解決的。選項(xiàng)D錯(cuò)誤。

所以,本題的答案為B。9、B[解析]Redis目前是可以支持簡(jiǎn)單的事務(wù)的,由于Redis是單線程來(lái)處理所有client的請(qǐng)求,一般情況下,Redis在接收到一個(gè)client發(fā)來(lái)的命令后會(huì)立即處理并返回處理結(jié)果,但是當(dāng)一個(gè)client在一個(gè)連接中發(fā)出multi命令,這個(gè)連接會(huì)進(jìn)入一個(gè)事務(wù)上下文,該連接后續(xù)的命令并不是立即執(zhí)行,而是先放到一個(gè)隊(duì)列中。當(dāng)此連接收到exec命令后,Redis會(huì)順序地執(zhí)行隊(duì)列中的所有命令,并將所有命令的運(yùn)行結(jié)果打包到一起返回給client,然后此連接結(jié)束事務(wù)上下文。選項(xiàng)B的說(shuō)法錯(cuò)誤。

所以,本題的答案為B。10、B[解析]get方法是通過(guò)URL路徑傳遞數(shù)據(jù),而URL的長(zhǎng)度和大小有限制,不能進(jìn)行大量數(shù)據(jù)的發(fā)送,而post可以發(fā)送大量數(shù)據(jù)。

所以,本題的答案為B。二、填空題11、客戶(hù)端在授權(quán)頭信息中沒(méi)有有效的身份信息時(shí)訪問(wèn)受到密碼保護(hù)的頁(yè)面;header("HTTP/1.0404NotFound");。12、①LoadModule;②AddTypeapplication/x-httpd-php.php。[解析]

在用Apache模塊的方式安裝PHP時(shí),需要先在http.conf配置文件中加入LoadModule說(shuō)明加載PHP模塊的功能。保存好配置文件后,還需要使用AddTypeapplication/x-httpd-php.php指明Apache對(duì)PHP文件的支持。13、可以執(zhí)行系統(tǒng)命令的函數(shù)有:①system()函數(shù)可以執(zhí)行外部程序并顯示輸出;②exec()函數(shù)可以執(zhí)行一個(gè)外部程序;③popen()函數(shù)可以打開(kāi)進(jìn)程文件指針。14、客戶(hù)端;服務(wù)端;1440s。[解析]Cookie存儲(chǔ)在客戶(hù)端,而Session存儲(chǔ)在服務(wù)器端,PHP中的Session默認(rèn)有效期是1440s(24min),即用戶(hù)在24min內(nèi)沒(méi)有刷新,當(dāng)前Session就會(huì)失效。如果用戶(hù)關(guān)閉了瀏覽器,Session也會(huì)消失。15、include會(huì)產(chǎn)生一個(gè)警告并繼續(xù)執(zhí)行后面的代碼,而require則提示是致命錯(cuò)誤;require_once()或include_once()。[解析]include和require引用文件的區(qū)別在于,當(dāng)引用文件出錯(cuò)時(shí),include會(huì)產(chǎn)生一個(gè)警告并繼續(xù)執(zhí)行后面的代碼,而require則提示是致命錯(cuò)誤,并停止繼續(xù)執(zhí)行。為了避免多次包含同一個(gè)文件,可以使用require_once()或include_once()代替它們。三、簡(jiǎn)答題16、面向?qū)ο蟮闹饕卣饔谐橄?、繼承、封裝和多態(tài)。

1)抽象:抽象就是忽略一個(gè)主體中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問(wèn)題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過(guò)程抽象,二是數(shù)據(jù)抽象。

2)繼承:繼承是一種聯(lián)結(jié)類(lèi)的層次模型,并且允許和鼓勵(lì)類(lèi)的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類(lèi)可以從現(xiàn)有的類(lèi)中派生,這個(gè)過(guò)程稱(chēng)為類(lèi)繼承。新類(lèi)繼承了原始類(lèi)的特性,新類(lèi)稱(chēng)為原始類(lèi)的派生類(lèi)(子類(lèi)),而原始類(lèi)稱(chēng)為新類(lèi)的基類(lèi)(父類(lèi))。派生類(lèi)可以從它的基類(lèi)那里繼承方法和實(shí)例變量,并且子類(lèi)可以修改或增加新的方法使之更適合特殊的需要。

3)封裝:封裝是指將客觀事物抽象成類(lèi),每個(gè)類(lèi)對(duì)自身的數(shù)據(jù)和方法實(shí)行保護(hù)。類(lèi)可以把自己的數(shù)據(jù)和方法只讓可信的類(lèi)或者對(duì)象操作,對(duì)不可信的信息進(jìn)行隱藏。

4)多態(tài):多態(tài)是指允許不同類(lèi)的對(duì)象對(duì)同一消息做出響應(yīng)。多態(tài)包括參數(shù)化多態(tài)和包含多態(tài)。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好地解決了應(yīng)用程序函數(shù)同名問(wèn)題。

17、MyISAM、InnoDB、DBD(BerkeleyDB)、Merge、Memory(Heap)、Example、Federated等。以下為4種常用數(shù)據(jù)庫(kù)存儲(chǔ)引擎的簡(jiǎn)單介紹。

MyISAM:默認(rèn)的MySQL插件式存儲(chǔ)引擎。如果應(yīng)用是以讀寫(xiě)和插入操作為主,只有很少的更新和刪除操作,并且對(duì)事務(wù)的完整性、并發(fā)性要求不是很高,那么可選用此種存儲(chǔ)引擎。

InnoDB:用于事務(wù)處理應(yīng)用程序,支持外鍵。如果應(yīng)用對(duì)事務(wù)的完整性有比較高的要求,在并發(fā)條件下要求數(shù)據(jù)一致性,數(shù)據(jù)操作除了插入和查詢(xún)以外,還包括很多的更新、刪除操作,那么InnoDB比較合適。InnoDB存儲(chǔ)引擎除了能有效地降低由于刪除和更新操作導(dǎo)致的鎖定,還可以確保事務(wù)的完整提交和回滾。

Memory:將所有的數(shù)據(jù)保存在RAM中,在需要快速定位記錄和其他類(lèi)似數(shù)據(jù)的環(huán)境下,可提供極快的訪問(wèn)。Memory的缺陷首先是對(duì)表的大小有限制,太大的表無(wú)法緩存在內(nèi)存中,其次要確保表數(shù)據(jù)可以恢復(fù),數(shù)據(jù)庫(kù)異常終止后表中的數(shù)據(jù)是可以恢復(fù)的。Memory表通常用于更新不太頻繁的小表,從而快速得到訪問(wèn)結(jié)果。

Merge:用于將一系列等同的MyISAM表以邏輯方式組合在一起,并作為一個(gè)對(duì)象引用它們。Merge表的優(yōu)點(diǎn)在于可以突破對(duì)單個(gè)MyISAM表大小的限制,并且將不同的表分布在多個(gè)磁盤(pán)上,可以有效地改善Merge表的訪問(wèn)效率。

18、優(yōu)化數(shù)據(jù)庫(kù)主要有以下幾個(gè)方面:

1)庫(kù)表設(shè)計(jì)方面。設(shè)計(jì)結(jié)構(gòu)良好的數(shù)據(jù)庫(kù)表,考慮良好的范式規(guī)則,避免join操作,提高查詢(xún)效率。

2)系統(tǒng)架構(gòu)設(shè)計(jì)方面。散列方法,把海量數(shù)據(jù)散列到不同的表中,進(jìn)行快慢表設(shè)計(jì),進(jìn)行服務(wù)器主從設(shè)計(jì)。

3)索引的使用。給所有經(jīng)常查詢(xún)的字段增加適當(dāng)?shù)乃饕?/p>

4)優(yōu)化SQL語(yǔ)句,減少distinct、group、join等語(yǔ)句的操作。

19、程序、進(jìn)程與線程的區(qū)別見(jiàn)下表。名稱(chēng)描述程序一組指令的有序結(jié)合,是靜態(tài)的指令,是永久存在的進(jìn)程具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單元。進(jìn)程的存在是暫時(shí)的,是一個(gè)動(dòng)態(tài)概念線程線程的一個(gè)實(shí)體,是CPU調(diào)度和運(yùn)行的基本單元,是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單元。其本身基本上不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器、一組寄存器和棧)。一個(gè)線程可以創(chuàng)建和撤銷(xiāo)另一個(gè)線程,同一個(gè)進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行

簡(jiǎn)而言之,一個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程。

20、PHP可以自動(dòng)進(jìn)行內(nèi)存管理,清除不再需要的對(duì)象。PHP使用了引用計(jì)數(shù)的垃圾回收機(jī)制。每個(gè)對(duì)象都內(nèi)含一個(gè)引用計(jì)數(shù)器,當(dāng)reference連接到對(duì)象時(shí),計(jì)數(shù)器加1。當(dāng)reference離開(kāi)作用域或被設(shè)置為NULL時(shí),計(jì)算器減1。當(dāng)某個(gè)對(duì)象的引用計(jì)數(shù)器為0時(shí),則PHP認(rèn)為不再需要使用這個(gè)對(duì)象,釋放其所占的內(nèi)存空間。四、編程題21、先通過(guò)fopen()函數(shù)打開(kāi)要下載的圖片路徑,然后使用fread()函數(shù)讀取圖片,再在本地打開(kāi)指定存儲(chǔ)圖片的目錄,將讀取到的圖片信息寫(xiě)入該目錄內(nèi)的文件中,即可遠(yuǎn)程下載一個(gè)圖片到本地。實(shí)現(xiàn)代碼如下:

<?php

$file="/images/originalNewtip.png";

$fp=fopen($file,'rb');

$img=fread($fp,100000);

$dir="./";

$local=fopen($dir.'/'.basename($file),'w');

fwrite($local,$img);

?>

22、在獲取用戶(hù)的IP地址后,將IP地址轉(zhuǎn)換為數(shù)值,然后進(jìn)行區(qū)間比較查看是否在IP地址之中。

實(shí)現(xiàn)代碼如下:

<?php

$IP=getenv("REMOTE_ADDR");

$nip=str_replace(".","",$IP);

if($nip>1921681100and$nip<1921681150){

echo$IP."在00—50之間";

}else{

echo$IP."不在00—50之間";

}

?>23、實(shí)現(xiàn)代碼如下:

f

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論