版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——Php面試寶典100題匯總Php面試100題匯總
1,Http和Https的區(qū)別
第一:http是超文本傳輸協(xié)議,信息是明文傳輸,https是具有安全性的ssl加密傳輸協(xié)議
其次:http和https使用的是完全不同的連接方式,端口也不一樣,前者80或者443第三:http連接很簡(jiǎn)單,是無(wú)狀態(tài)的。https協(xié)議是由ssl+http協(xié)議構(gòu)建的可進(jìn)行加密傳輸,身份認(rèn)證的網(wǎng)絡(luò)協(xié)議。2.什么方法來(lái)加快頁(yè)面的加載速度
1,用到服務(wù)器資源時(shí)在開(kāi)啟,不用時(shí),馬上關(guān)閉服務(wù)器資源。2,數(shù)據(jù)庫(kù)添加索引3,頁(yè)面可生成靜態(tài)
4,圖片等大文件單獨(dú)放在一個(gè)服務(wù)器
5,能不查詢數(shù)據(jù)庫(kù)的盡量不去數(shù)據(jù)取數(shù)據(jù),可以放在緩存中。3.表單中g(shù)et與post提交方法的區(qū)別?
答:get是發(fā)送請(qǐng)求HTTP協(xié)議通過(guò)url參數(shù)傳遞進(jìn)行接收,而post是實(shí)體數(shù)據(jù),可以通過(guò)表單提交大量信息.
4.echo,print,print_r的區(qū)別:
echo是php語(yǔ)句,無(wú)返回值。print,print_r是函數(shù),有返回值。
print()只能打印出簡(jiǎn)單類型變量的值(如int,string)print_r()可以打印出繁雜類型變量的值(如數(shù)組,對(duì)象)echo輸出一個(gè)或者多個(gè)字符串5.session與cookie區(qū)別
session與cookie一致:跨頁(yè)面、不跨用戶session與cookie不一致:
1、session可以存儲(chǔ)任意類型的數(shù)據(jù),但cookie只能存儲(chǔ)字符串2、cookie產(chǎn)生在服務(wù)器端、存儲(chǔ)在客戶端session產(chǎn)生在服務(wù)器端、存儲(chǔ)在服務(wù)器端6.魔術(shù)常量答案:
__LINE__文件中的當(dāng)前行號(hào)。__FILE__文件的完整路徑和文件名。__FUNCTION__函數(shù)名稱__CLASS__類的名稱__METHOD__類的方法名
第1頁(yè)共1頁(yè)
7.數(shù)據(jù)庫(kù)中的事務(wù)是什么?
答:事務(wù)(transaction)是作為一個(gè)單元的一組有序的數(shù)據(jù)庫(kù)操作。假使組中的所有操作都成功,則認(rèn)為事務(wù)成功,即使只有一個(gè)操作失敗,事務(wù)也不成功。假使所有操作完成,事務(wù)則提交,其修改將作用于所有其他數(shù)據(jù)庫(kù)進(jìn)程。假使一個(gè)操作失敗,則事務(wù)將回滾,該事務(wù)所有操作的影響都將取消。8.1優(yōu)化MYSQL數(shù)據(jù)庫(kù)的方法。1、選擇適合的字段的數(shù)據(jù)類型1)能用數(shù)字不用字符串
2)char、varchar、text能用varchar不用char
3)給字段加notnull避免在表中出現(xiàn)NULL關(guān)鍵字(default值)2、選擇適合的字段充當(dāng)主鍵1)建議每張表必需有主鍵2)用數(shù)字類型的字段充當(dāng)主鍵3、拆分表
1)拆分字段,將文章的標(biāo)題與內(nèi)容分開(kāi)2)拆分記錄,將今年的記錄與往年的記錄分開(kāi)4、給字段合理添加索引
a.格式:(普通索引)->
創(chuàng)立:CREATEINDEXONtablename(索引字段)修改:ALTERTABLEtablenameADDINDEX[索引名](索引字段)
創(chuàng)表指定索引:CREATETABLEtablename([...],INDEX[索引名](索引字段))(唯一索引)->
創(chuàng)立:CREATEUNIQUEONtablename(索引字段)修改:ALTERTABLEtablenameADDUNIQUE[索引名](索引字段)
創(chuàng)表指定索引:CREATETABLEtablename([...],UNIQUE[索引名](索引字段))(主鍵)->
它是唯一索引,一般在創(chuàng)立表是建立,格式為:
CREATATABLEtablename([...],PRIMARYKEY[索引字段])5、事務(wù)處理:
a.保證數(shù)據(jù)完整性,例如添加和修改同時(shí),兩者成立則都執(zhí)行,一者失敗都失敗mysql_query(\
mysql_query(\mysql_query(\mysql_query(\6、鎖定表,優(yōu)化事務(wù)處理:
a.我們用一個(gè)SELECT語(yǔ)句取出初始數(shù)據(jù),通過(guò)一些計(jì)算,用UPDATE語(yǔ)句將新值更新
第2頁(yè)共2頁(yè)
到表中。
包含有WRITE關(guān)鍵字的LOCKTABLE語(yǔ)句可以保證在UNLOCKTABLES命令被執(zhí)行之前,不會(huì)有其它的訪問(wèn)來(lái)對(duì)inventory進(jìn)行插入、更新或者刪除的操作mysql_query(\mysql_query(\mysql_query(\customerid=\
mysql_query(\7、使用外鍵,優(yōu)化鎖定表
a.把customerinfo里的customerid映射到orderinfo里的customerid,任何一條沒(méi)有合法的customerid的記錄不會(huì)寫到orderinfo里CREATETABLEcustomerinfo(customeridINTNOTNULL,PRIMARYKEY(customerid))TYPE=INNODB;CREATETABLEorderinfo(orderidINTNOTNULL,customeridINTNOTNULL,PRIMARYKEY(customerid,orderid),
FOREIGNKEY(customerid)REFERENCEScustomerinfo(customerid)ONDELETECASCADE)TYPE=INNODB;
注意:'ONDELETECASCADE',該參數(shù)保證當(dāng)customerinfo表中的一條記錄刪除的話同時(shí)也會(huì)刪除order
表中的該用戶的所有記錄,注意使用外鍵要定義事務(wù)安全類型為INNODB;8、優(yōu)化查詢語(yǔ)句
a用內(nèi)連接代替子查詢代替子查詢,用sphinx代替like模糊查詢
b最好在一致字段進(jìn)行比較操作,在建立好的索引字段上盡量減少函數(shù)操作例子1:
SELECT*FROMorderWHEREYEAR(orderDate)=\
第3頁(yè)共3頁(yè)
9、緩存,靜態(tài)化
10、選擇適合存儲(chǔ)引擎用Innodb增刪改,用myisam查詢11、主從數(shù)據(jù)庫(kù)12、負(fù)載均衡
13、最好拿數(shù)字類型的字段充當(dāng)where條件
14、最好拿一致類型的字段進(jìn)行比對(duì)(避免發(fā)生數(shù)據(jù)類型的轉(zhuǎn)換)15、不要在具有索引的字段上添加數(shù)據(jù)庫(kù)函數(shù)(索引失效)
8.2請(qǐng)簡(jiǎn)述項(xiàng)目中優(yōu)化sql語(yǔ)句執(zhí)行效率的方法,從哪些方面,sql語(yǔ)句性能如何分析?
答:(1)選擇最有效率的表名順序(2)WHERE子句中的連接順序(3)SELECT子句中避免使用‘*’(4)用Where子句替換HAVING子句(5)通過(guò)內(nèi)部函數(shù)提高SQL效率(6)避免在索引列上使用計(jì)算。
(7)提高GROUPBY語(yǔ)句的效率,可以通過(guò)將不需要的記錄在GROUPBY之前過(guò)濾掉。9.對(duì)于大流量網(wǎng)站,采用什么方法解決訪問(wèn)量問(wèn)題?
1,確認(rèn)服務(wù)器的硬件是否足夠支持當(dāng)前的流量2,優(yōu)化數(shù)據(jù)庫(kù)的訪問(wèn)3,阻止外部的盜鏈4,控制大文件的下載5,使用不同主機(jī)分流主要流量6,使用流量分析統(tǒng)計(jì)軟件
10.一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾(20分)
functiondir_recurse($dir){$i=1;
if($handle=opendir($dir)){
while(false!==($file=readdir($handle))){if($file!=\if(is_dir($dir.\$fullpath=$dir.\dir_recurse($fullpath);echo\$i++;}else{$fullpath=$dir.\echo\$i++;
第4頁(yè)共4頁(yè)}}}
closedir($handle);}}
10.2寫一個(gè)函數(shù),能夠遍歷一個(gè)文件夾下的所有文件和子文件夾。functionmy_scandir($dir){$files=array();
if($handle=opendir($dir)){
while(($file=readdir($handle))!==false){if($file!=\if(is_dir($dir.\
$files[$file]=scandir($dir.\}else{
$files[]=$file;}}}
closedir($handle);return$files;}}
11、能夠使HTML和PHP分開(kāi)開(kāi)使用的模板(1分)
答:Smarty,Dwoo,TinyButStrong,TemplateLite,Savant,phemplate,XTemplate12、使用哪些工具進(jìn)行版本控制?(1分)
答:cvs,svn,vss;
13、如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?(3分)
英文:strrev($a)中文或其他文字:
中文:GB2312,代碼是使用GB2312編碼
$ret=\
len=mbstrwidth(len=mbstrwidth(len=mb_strwidth(str,\for(i=0;i=0;i=0;irequire是無(wú)條件包含也就是假使一個(gè)流程里參與require,無(wú)論條件成立與否
都會(huì)先執(zhí)行require
include->include有返回值,而require沒(méi)有(可能由于如此require的速度比include快)注意:包含文件不存在或者語(yǔ)法錯(cuò)誤的時(shí)候require是致命的,include不是18.http請(qǐng)求返回狀態(tài)碼
400請(qǐng)求無(wú)效401未授權(quán)403請(qǐng)求被阻止404請(qǐng)求資源不存在405請(qǐng)求資源被阻止406無(wú)法接受407要求代理身份驗(yàn)證
500InternalServerError服務(wù)端源代碼錯(cuò)誤600源站沒(méi)有返回響應(yīng)頭部,只返回實(shí)現(xiàn)內(nèi)容19,linux授權(quán)碼:
600屬主有讀寫權(quán)限
644屬主有讀寫權(quán)限,屬性組有讀權(quán)限700屬主有讀寫執(zhí)行權(quán)限
755屬主有讀寫執(zhí)行權(quán)限,屬性組有讀,執(zhí)行權(quán)限
第6頁(yè)共6頁(yè)
711屬主有讀寫執(zhí)行權(quán)限,屬性組有執(zhí)行權(quán)限666所有用戶都有文件的讀寫權(quán)限777所有用戶都有文件的讀寫執(zhí)行權(quán)限
20.有一個(gè)網(wǎng)頁(yè)地址,譬如PHP開(kāi)發(fā)資源網(wǎng)主頁(yè):http://./index.html,如何得到它的內(nèi)容?($1分)
答:方法1(對(duì)于PHP5及更高版本):
$readcontents=fopen(\$contents=stream_get_contents($readcontents);fclose($readcontents);echo$contents;方法2:
echofile_get_contents(\21.在PHP中error_reporting這個(gè)函數(shù)有什么作用?(1分)
答:設(shè)置錯(cuò)誤級(jí)別與錯(cuò)誤信息回報(bào)
22.JS表單彈出對(duì)話框函數(shù)是?獲得輸入焦點(diǎn)函數(shù)是?(2分)
答:彈出對(duì)話框:alert(),prompt(),confirm()獲得輸入焦點(diǎn)focus()
23.foo()和@foo()之間有什么區(qū)別?(1分)
答:@foo()控制錯(cuò)誤輸出
24、mysql_fetch_row()和mysql_fetch_array之間有什么區(qū)別?(1分)
答:mysql_fetch_row是從結(jié)果集取出1行數(shù)組,作為枚舉
mysql_fetch_array是從結(jié)果集取出一行數(shù)組作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,兩者兼得25、GD庫(kù)是做什么用的?(1分)
答:gd庫(kù)提供了一系列用來(lái)處理圖片的API,使用GD庫(kù)可以處理圖片,或者生成圖片。在網(wǎng)站上GD庫(kù)尋常用來(lái)生成縮略圖或者用來(lái)對(duì)圖片加水印或者對(duì)網(wǎng)站數(shù)據(jù)生成報(bào)表。26.面向?qū)ο缶幊?/p>
有兩個(gè)重要的概念:類和對(duì)象
類是具備某項(xiàng)功能的抽象模型,實(shí)際應(yīng)用中,還需要對(duì)類進(jìn)行實(shí)例化后使用。這樣就引入了對(duì)象的概念。
對(duì)象是類進(jìn)行實(shí)例化后的一個(gè)產(chǎn)物,是一個(gè)實(shí)體。封裝:把客觀的事物封裝成一個(gè)抽象的類。
繼承:子類繼承父類,可以使用父類的屬性和方法??梢詫?shí)現(xiàn)接口,同時(shí)實(shí)現(xiàn)接口中的所有方法
多態(tài):覆蓋和重載子類可以覆蓋父類中的方法;一個(gè)類中可以同時(shí)擁有同一個(gè)函數(shù)名的方法,但是方法的參數(shù)不同,實(shí)現(xiàn)的結(jié)果也不同。27.php框架
熟悉YII,Thinkphp還有l(wèi)aravel,symfony2,cakephp
第7頁(yè)共7頁(yè)
28.mysql存儲(chǔ)引擎
ISAM:查詢速度快、增刪改慢,支持全文索引、不支持外鍵、不支持事務(wù)MyISAM:Memory:InnoDB:
ISAM升級(jí)版
數(shù)據(jù)駐留在內(nèi)存、速度快、數(shù)據(jù)管理不穩(wěn)定、斷電后數(shù)據(jù)全部丟失速度較慢、支持外鍵、支持事務(wù)、不支持全文索引
使用的存儲(chǔ)引擎
MyISAM:內(nèi)容管理系統(tǒng)(新聞、官網(wǎng)、電商、軟件下載、房屋、聘請(qǐng)...)可讀不可改大部分是瀏覽信息
InnoDB:技術(shù)型網(wǎng)站(bbs、blog、webo、oa...)
29.數(shù)據(jù)庫(kù)操作流程
$link=mysql_connect(\mysql_select_db(\$sql=\$result=mysql_query($sql);
while($row=mysql_fetch_****($result)){$arr[]=$row;}
$row=mysql_fetch_array($result)意思:$row['name']和$row[1]都可以取到值$row=mysql_fetch_row($result))意思:$row[1]只有用索引取值,偏移量從0開(kāi)始。$row=mysql_fetch_assoc($result))意思:$row['name']字段名作為索引取值抽取一條記錄轉(zhuǎn)為關(guān)聯(lián)數(shù)組,失敗返回false
30.php加密函數(shù)
crypt($str[,$slat])可以完成單向加密功能md5()
sha1()返回一個(gè)40位的十六進(jìn)制數(shù),加密擴(kuò)展庫(kù)Mcrypt()和Mash
31、字符串“touppercase〞分別用php,shell,js實(shí)現(xiàn)將字符串中的字符全部轉(zhuǎn)換成大寫并輸出。(5分)
Php實(shí)現(xiàn):echostrtoupper(‘touppercase’)Shell實(shí)現(xiàn):echo\Js實(shí)現(xiàn):
32.防止SQL注入
1)一般使用addslashes函數(shù)
addslashes函數(shù)在制定的預(yù)定義字符前添加反斜杠2)對(duì)字段和密碼MD5加密處理3)預(yù)處理過(guò)濾處理
33、用PHP打印出前一天的時(shí)間,格式是2023-5-1022:21:21
34.如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?
其實(shí)PHP本身就有字符串翻轉(zhuǎn)的函數(shù):strrev(),不妨試試echostrrev($str);不過(guò)所有的這三種方法都不能解決中文字符串翻轉(zhuǎn)的問(wèn)題,會(huì)出錯(cuò)的。代碼
35.實(shí)現(xiàn)中文字串截取無(wú)亂碼的方法。mb_substr()
36.以下哪一句不會(huì)把John新增到users陣列?
$users[]='john';
成功把John新增到陣列users。array_add($users,’john’);函式array_add()無(wú)定義。array_push($users,‘john’);成功把John新增到陣列users。
第9頁(yè)共9頁(yè)
$users||='john';語(yǔ)法錯(cuò)誤。
37.sort()、assort()、和ksort()有什么分別?它們分別在什么狀況下使用?sort()
根據(jù)陣列中元素的值,以英文字母順序排序,索引鍵會(huì)由0到n-1重新編號(hào)。主要是當(dāng)陣列索引鍵的值無(wú)關(guān)疼癢時(shí)用來(lái)把陣列排序。assort()
PHP沒(méi)有assort()函式,所以可能是asort()的筆誤。asort()
與sort()一樣把陣列的元素按英文字母順序來(lái)排列,不同的是所有索引鍵都獲得保存,特別適合替聯(lián)想陣列排序。ksort()
根據(jù)陣列中索引鍵的值,以英文字母順序排序,特別適合用于希望把索引鍵排序的聯(lián)想陣列。
38.以下的代碼會(huì)產(chǎn)生什么?為什么?$num=10;
functionmultiply(){$num=$num*10;}
multiply();echo$num;
由于函式multiply()沒(méi)有指定$num為全域變量(例如global$num或者$_GLOBALS['num']),所以$num的值是10。
39.些函式可以用來(lái)在現(xiàn)正執(zhí)行的腳本中插入函式庫(kù)?
對(duì)這道題目不同的理解會(huì)有不同的答案,我的第一個(gè)想法是插入PHP函式庫(kù)不外乎include()、include_once()、require()、require_once(),但細(xì)心再想,“函式庫(kù)〞也應(yīng)當(dāng)包括com物件和.net函式庫(kù),所以我們的答案也要分別包括
com_load和dotnet_load,下次有人提起“函式庫(kù)〞的時(shí)候,別忘掉這兩個(gè)函式。40.foo()與@foo()有什么分別?
foo()會(huì)執(zhí)行這個(gè)函式,任何解譯錯(cuò)誤、語(yǔ)法錯(cuò)誤、執(zhí)行錯(cuò)誤都會(huì)在頁(yè)面上顯示出來(lái)。@foo()在執(zhí)行這個(gè)函式時(shí),會(huì)隱蔽所有上述的錯(cuò)誤訊息。
好多應(yīng)用程式都使用@mysql_connect()和@mysql_query來(lái)隱蔽mysql的錯(cuò)誤訊息,我認(rèn)為這是很嚴(yán)重的失誤,由于錯(cuò)誤不該被隱蔽,你必需合理處理它們,可能的話解決它們。
41.“===〞是什么?試舉一個(gè)“==〞是真但“===〞是假的例子。
“===〞是給既可以送回布爾值“假〞,也可以送回一個(gè)不是布爾值但卻可以賦與“假〞值的函式,strpos()和strrpos()便是其中兩個(gè)例子。
問(wèn)題的其次部份有點(diǎn)困難,想一個(gè)“==〞是假,但是“===〞是真的例子卻很簡(jiǎn)單,
第10頁(yè)共10頁(yè)
相反的例子卻很少。但我終究找到以下的例子:
if(strpos(\這部分永不會(huì)被執(zhí)行,由于\的位置是0,換算成布爾值“假〞}if(strpos(\這部份會(huì)被執(zhí)行,由于“===〞保證函式strpos()的送回值不會(huì)換算成布爾值.}42、如何修改SESSION的生存時(shí)間(1分).
答:方法1:將php.ini中的session.gc_maxlifetime設(shè)置為9999重啟apache方法2:$savePath=\$lifeTime=小時(shí)*秒;session_save_path($savePath);session_set_cookie_params($lifeTime);session_start();
方法3:setcookie()andsession_set_cookie_params($lifeTime);43、在PHP中,heredoc是一種特別的字符串,它的終止標(biāo)志必需?(1分)
答:heredoc的語(yǔ)法是用\加上自己定義成對(duì)的標(biāo)簽,在標(biāo)簽范圍內(nèi)的文字視為一個(gè)字符串例子:
$str=
50請(qǐng)舉例說(shuō)明在你的開(kāi)發(fā)過(guò)程中用什么方法來(lái)加快頁(yè)面的加載速度
①要用到服務(wù)器資源時(shí)才開(kāi)啟②及時(shí)關(guān)閉服務(wù)器資源,③數(shù)據(jù)庫(kù)添加索引,
④頁(yè)面可生成靜態(tài),圖片等大文件單獨(dú)服務(wù)器。⑤使用代碼優(yōu)化工具啦
51.給定一個(gè)用逗號(hào)分隔一組值的字符串,以下哪個(gè)函數(shù)能在僅調(diào)用一次的狀況下就把每個(gè)獨(dú)立的值放入一個(gè)新創(chuàng)立的數(shù)組?A.strstr()
B.不可能只調(diào)用一次就完成C.extract()D.explode()√E.strtok()
52.假使用+操作符把一個(gè)字符串和一個(gè)整型數(shù)字相加,結(jié)果將怎樣?A.解釋器輸出一個(gè)類型錯(cuò)誤
B.字符串將被轉(zhuǎn)換成數(shù)字,再與整型數(shù)字相加C.字符串將被丟棄,只保存整型數(shù)字√D.字符串和整型數(shù)字將連接成一個(gè)新字符串E.整形數(shù)字將被丟棄,而保存字符串53.以下腳本輸出什么?$s='12345';$s[$s[1]]='2';echo$s;?>A.12345B.12245√C.22345D.11345
54.以下腳本輸出什么?$x='apple';
第12頁(yè)共12頁(yè)
echosubstr_replace($x,'x',1,2);?>A.xB.a(chǎn)xle√C.a(chǎn)xxleD.a(chǎn)pplexE.xapple
55.函數(shù)______能讀取文本文件中的一行。讀取二進(jìn)制文件或者其他文件時(shí),應(yīng)當(dāng)用______函數(shù)。A.fgets(),fseek()B.fread(),fgets()C.fputs(),fgets()D.fgets(),fread()√E.fread(),fseek()
56.哪個(gè)函數(shù)能夠往文本文件中寫入一個(gè)字符串?
答案:fwrite()和fputs()兩個(gè)函數(shù)在這里都可以,而后者其實(shí)是前者的別名。在PHP中,寫入二進(jìn)制數(shù)據(jù)和寫入字符串沒(méi)有區(qū)別。57.函數(shù)______能判斷一個(gè)文件是否可寫。答案:is_writeable
58.以下哪個(gè)選項(xiàng)能將文件指針移到開(kāi)頭?A.reset()B.fseek(-1)
C.fseek(0,SEEK_END)D.fseek(0,SEEK_SET)√E.fseek(0,SEEK_CUR)
59、include的功能和require一樣,不同的是,require不能用在[]A、判斷語(yǔ)句或循環(huán)里,B、連接語(yǔ)句里C、聲明語(yǔ)句里D、文件的開(kāi)頭E、文件的中間√
50、下面建立與MySQLServer的連接語(yǔ)法正確的是:[]A、$link=connect(\B、$link=mysql_connect(\√C、$link=mysqlconnect(\D、$link=mysql_pconnect(\√E、$link=pconnect(\
第13頁(yè)共13頁(yè)
51.將字符串轉(zhuǎn)換成小寫
strtolower():該函數(shù)將傳入的字符串參數(shù)所有的字符都轉(zhuǎn)換成小寫,并以小定形式放回這個(gè)字符串52.將字符轉(zhuǎn)成大寫
strtoupper():該函數(shù)的作用同strtolower函數(shù)相反,是將傳入的字符參數(shù)的字符全部轉(zhuǎn)換成大寫,并以大寫的形式返回這個(gè)字符串.用法同strtolowe()一樣.53.將字符串首字符轉(zhuǎn)換成大寫
ucfirst():該函數(shù)的作用是將字符串的第一個(gè)字符改成大寫,該函數(shù)返回首字符大寫的字符串.用法同strtolowe()一樣.54.將字符串每個(gè)單詞的首字符轉(zhuǎn)換成大寫
ucwords():該函數(shù)將傳入的字符串的每個(gè)單詞的首字符變成大寫.如\
world\經(jīng)過(guò)該函數(shù)處理后,將返回\用法同strtolowe()一樣.55、NoSQL:NotOnlySQL
思想:網(wǎng)站產(chǎn)生的數(shù)據(jù),一部分存儲(chǔ)數(shù)據(jù)庫(kù)、一部分存到NoSQL相關(guān)產(chǎn)品NoSQL產(chǎn)品
1、Memcache:內(nèi)存(速度快、數(shù)據(jù)量小)、數(shù)據(jù)的過(guò)期時(shí)間2、MongoDB:文檔數(shù)據(jù)庫(kù)
3、Redis:內(nèi)存(速度快、數(shù)據(jù)量小)、庫(kù)、沒(méi)有過(guò)期時(shí)間56.什么樣的數(shù)據(jù),存儲(chǔ)在什么位置?MySQL:穩(wěn)定的數(shù)據(jù)NoSQL:活躍的數(shù)據(jù)57緩存分類
1、緩存數(shù)據(jù)存儲(chǔ)位置不同1)文件緩存2)內(nèi)存緩存
2、緩存的數(shù)據(jù)量的不同1)頁(yè)面緩存2)局部緩存3)局部不緩存
4)數(shù)據(jù)緩存(變量緩存、動(dòng)態(tài)緩存)Memcache:內(nèi)存緩存、變量緩存58.LINUX命令
查看當(dāng)前目錄下所有內(nèi)容ls
在當(dāng)前目錄下,新建一個(gè)文件夾mkdir文件夾名
刪除指定的文件夾rmdir文件夾名只能刪除空目錄在當(dāng)前目錄下新建一個(gè)空白文件touch文件名刪除當(dāng)前目錄下的一個(gè)文件unlink文件名刪除文件或文件夾rm
第14頁(yè)共14頁(yè)
復(fù)制文件cp移動(dòng)文件或文件夾mv文件或文件夾重命名mv查看完整的工作目錄pwd
切換目錄:cdcd/返回根目錄文件傳輸ftp查看文件內(nèi)容cat文件名查看文件編碼file文件名
查找文件find路徑-name文件名修改文件或文件夾權(quán)限
權(quán)限種類:r4(讀)、w2(寫)、x1(執(zhí)行)權(quán)限操作符:+(賦予權(quán)限)、-(收回權(quán)限)
用戶種類:a(所有人)、u(文件擁有者)、g(組用戶)、o(其他用戶)查看權(quán)限:ls-l
-rw-r--r--a.txtdrwxr-xr-xhello
第1位:是文件還是文件夾(-文件、d文件夾)第234位:u用戶的權(quán)限
第567位:g用戶的權(quán)限最終三位:o用戶的權(quán)限1)將最大權(quán)限賦予a.txtchmoda+r+w+xa.txtchmod777a.txt
2)設(shè)置a.txt權(quán)限,收回o用戶的wx權(quán)限chmodo-w-xa.txt
4)設(shè)置a.txt權(quán)限:u:rwg:ro:rchmod644a.txt
5)設(shè)置hello文件夾權(quán),給予最大權(quán)限(不影響子文件)chmod777hello
6)設(shè)置hello文件夾權(quán),給予最大權(quán)限(影響子文件)chmod-R777hello
59、創(chuàng)立文件exer1,設(shè)置訪問(wèn)權(quán)限為rw-r--r--,現(xiàn)要增加所有用戶的執(zhí)行權(quán)限和同組用戶的寫權(quán)限,寫出操作過(guò)程的命令(10分)
touchexer1chmod644exer1增加權(quán)限
chmoda+xexer1chmodg+wexer1
第15頁(yè)共15頁(yè)
或者
chmod775exer160易出現(xiàn)編碼的地方
①文件保存格式的編碼
②③Header();
④Msq本身的編碼(修改my.ini)⑤Setnamesgbk;
⑥Mysql_query(“setnamesutf8〞);⑦Iconv()PHP的系統(tǒng)函數(shù)進(jìn)行轉(zhuǎn)碼61.PHP工作原理
①一個(gè)網(wǎng)站運(yùn)行時(shí)客戶端有無(wú)數(shù)個(gè),服務(wù)器尋常只有一個(gè)(負(fù)載均衡)②開(kāi)發(fā)環(huán)境的安裝Apache2.2,PHP5.4,MYSQL5.3開(kāi)源,可以跨平臺(tái)③配置文件:httpd.conf(Apache),php.inimy.ini④PHP文檔組成:HTML,css,js,jquery,PHP
⑤PHP語(yǔ)法風(fēng)格:xml風(fēng)格,短風(fēng)格,ASP風(fēng)格(已過(guò)時(shí)),腳本風(fēng)格
⑥注意:位置任意,同一頁(yè)面可以出現(xiàn)屢屢,不能嵌套,里面只能出現(xiàn)php代碼,需要轉(zhuǎn)字符串輸出
⑦運(yùn)行在服務(wù)器端
⑧解釋:?jiǎn)涡薪忉?,多行解?2數(shù)據(jù)類型:
1)標(biāo)量類型:integer,F(xiàn)loat,String,boolean2)復(fù)合類型:Array,Object3)特別類型:Resource,Null
4)偽類型:mixed,number,callback(回調(diào)函數(shù))63.PHP中被認(rèn)為是false的值:
0,
65什么是MVC?
回復(fù):MVC由Model(模型),View(視圖)和Controller(控制器)組成,PHPMVC
0.0,
null,
空數(shù)組,
空字符串,false
64.求兩個(gè)日期的差數(shù),例如2023-2-27~2023-05-6的日期差數(shù)
第16頁(yè)共16頁(yè)
可以更高效地管理好3個(gè)不同層的PHP代碼。
Model:數(shù)據(jù)信息存取層。
View:view層負(fù)責(zé)將應(yīng)用的數(shù)據(jù)以特定的方式浮現(xiàn)在界面上。
Controller:尋??刂破髫?fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。66.PHP中獲取圖像尺寸大小的方法是什么?
回復(fù):getimagesize()獲取圖片的尺寸Imagesx()獲取圖片的寬度Imagesy()獲取圖片的高度67.如何在PHP中定義常量?
回復(fù):PHP中使用Define()來(lái)定義常量。define(“Newconstant〞,30);
68.如何不使用submit按鈕來(lái)提交表單?
假使我們不想用submit按鈕來(lái)提交表單,我們也可以用超鏈接來(lái)提交,我們可以這樣寫代碼:
SubmitMe
69.簡(jiǎn)述論壇中無(wú)限分類的實(shí)現(xiàn)原理。
答:無(wú)限極分類,那么應(yīng)當(dāng)是考察遞歸函數(shù)吧!
第一步:建立測(cè)試數(shù)據(jù)庫(kù):
CREATETABLE`category`(`id`smallint(5)unsignedNOTNULLauto_increment,`fid`smallint(5)unsignedNOTNULLdefault'0',`value`varchar(50)NOTNULLdefault'',PRIMARYKEY(`id`))ENGINE=MyISAMDEFAULTCHARSET=utf8;
其次步:插入測(cè)試數(shù)據(jù):
INSERTINTO`category`(`fid`,`value`)VALUES(0,'PHP點(diǎn)點(diǎn)通博客PHPDDT.COM'),(1,'a'),(1,'b'),(2,'c'),(2,'d'),(4,'e')
第三步:遞歸輸出分類:70.試述isset()和empty()的區(qū)別
isset()測(cè)試變量是否存在empty()測(cè)試變量是否為空71.請(qǐng)用完可能少的語(yǔ)句實(shí)現(xiàn)對(duì)輸入Email地址進(jìn)行驗(yàn)證的功能
eregi('^[_a-z0-9]+(/.[_a-z0-9-]+)*@[a-z0-9]+(/.[a-z0-9-]+)*$',$emailaddress)
72.使用PHP描述冒泡排序和快速排序算法,對(duì)象可以是一個(gè)數(shù)組
/冒泡排序(數(shù)組排序)
functionbubble_sort($array){
$count=count($array);if($count$i;$j–){if($array[$j]$val){$keysvalue[$key]=$val[$keys];}
if($order==0){asort($keysvalue);}else{
arsort($keysvalue);}
reset($keysvalue);
foreach($keysvalueas$key=>$vals){$keysort[$key]=$key;
}
$new_array=array();
foreach($keysortas$key=>$val){
第19頁(yè)共19頁(yè)
$new_array[$key]=$arr[$val];
}
return$new_array;}
75.utf-8轉(zhuǎn)換成gb
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商貿(mào)批發(fā)轉(zhuǎn)讓合同模板
- 勞動(dòng)合同訂裝合同范例
- 總冠名合同范例
- 工廠承包廢品合同范例
- 2024年涼山州申請(qǐng)客運(yùn)從業(yè)資格證模擬考試
- 2024年客運(yùn)駕駛從業(yè)資格考試題庫(kù)答案
- 生活垃圾焚燒發(fā)電項(xiàng)目冬期專項(xiàng)施工方案
- 企業(yè)法人變更說(shuō)明
- 2024-2025學(xué)年山東省濰坊市昌樂(lè)縣統(tǒng)編版五年級(jí)上冊(cè)期中考試道德與法治試卷(無(wú)答案)
- 帕金森病病案討論
- 2023-2024年抖音直播行業(yè)現(xiàn)狀及發(fā)展趨勢(shì)研究報(bào)告
- 門診發(fā)熱病人登記表
- 教育產(chǎn)業(yè)轉(zhuǎn)型升級(jí)
- 新課標(biāo)-人教版數(shù)學(xué)六年級(jí)上冊(cè)第五單元《圓》單元教材解讀
- 2022湖北漢江王甫洲水力發(fā)電有限責(zé)任公司招聘試題及答案解析
- 原發(fā)性骨質(zhì)疏松癥診療指南(2022版)第二部分
- 2019新人教必修1unit2Travelling-Around整單元完整教案
- 大學(xué)生辯論賽評(píng)分標(biāo)準(zhǔn)表
- 診所污水污物糞便處理方案及周邊環(huán)境
- 江蘇開(kāi)放大學(xué)2023年秋《馬克思主義基本原理 060111》形成性考核作業(yè)2-實(shí)踐性環(huán)節(jié)(占過(guò)程性考核成績(jī)的30%)參考答案
- 《我是班級(jí)的主人翁》的主題班會(huì)
評(píng)論
0/150
提交評(píng)論