第一篇:php項目開發(fā)經(jīng)驗-2個月學習php經(jīng)歷
php項目開發(fā)經(jīng)驗-2個月學習php經(jīng)歷.txt人生在世,難敵宿命,沉淪其中。我不愛風塵,似被前緣誤!我只為我最愛的人流淚“我會學著放棄你,是因為我太愛你”贏了你,我可以放棄整個世界 php項目開發(fā)經(jīng)驗-2個月學習php經(jīng)歷
@author xueyms@since 2020-04-0
2兩個月前我?guī)缀跬耆粫HP,糊里糊涂的接手了一個手機網(wǎng)游門戶的開發(fā),臨陣退縮是沒有用的,IT技術(shù)作為現(xiàn)今工業(yè)社會里更新?lián)Q代最快的一個行業(yè),任憑誰也不可能全部掌握所有的技術(shù),作為一個優(yōu)秀的開發(fā)人員,隨時學習新技術(shù)并且盡可能的最快掌握應用到項目中,便是必需具備的基本素質(zhì)。手藝總是多少有一些相通之處和可繼承的,琵琶彈得好、學習吉他自然也不難,從鋼琴到小提琴跨度是有點大、但是音樂知識也是一樣的??焖俚膶W習需要扎實的基礎、準確找出共通點的敏銳觸角、舉一反三的領悟力、鍥而不舍尋求答案的毅力。PHP是一只兩棲動物,自5.0之后開始支持面向?qū)ο螅峭瑫r兼容面向過程的編寫。這特性使得PHP容易上手卻難以精通。兩個月里摸著石頭過河,邊學邊做到最后項目完成,不敢以高手自居,多少掌握了一些PHP學習和編程的小竅門,為了避免如我一樣的初學者或項目需求者多走彎路,特地整理一下心得與同行分享。
與國外和香港臺灣地區(qū)相比,國內(nèi)的PHP程序員相對較少,精通的更是為數(shù)不多。一個很大的原因是中國大陸是盜版大國,大伙都愛用Windows系統(tǒng),用.Net寫程序,用Sqlserver存儲數(shù)據(jù),反正微軟不會上門開罰單。兩個月的項目開發(fā)周期過去了一個月,后臺系統(tǒng)我都幾乎寫完了還沒有招到我滿意的PHP程序員。有兩個合符標準的,一個因為個性有點特立獨行,另外一個要價7K超出公司預算被我Pass掉,導致最后我招了一個編程基礎比較好的小伙子進來自己帶。當我還在上一家公司做.Net項目時,有個同事曾經(jīng)對我說他羨慕PHP程序員的薪資高,我當時不以為然,那種程序?qū)懙煤眯劫Y不高?現(xiàn)在倒有了更深的認識,PHP程序員薪資高,不是因為PHP程序?qū)懙煤?,一般而言相關的技能也得有相當?shù)某潭?。隨便在網(wǎng)上找一份PHP程序員的招聘一起看看。
1.兩年以上PHP開發(fā)經(jīng)驗,熟悉smarty模板,熟悉Linux+Apache+Mysql+PHP架構(gòu),熟悉Zend架構(gòu)者尤好;
2.具有MySQL索引優(yōu)化、查詢優(yōu)化和存儲優(yōu)化經(jīng)驗、PHP緩存技術(shù)、靜態(tài)化設計方面的經(jīng)驗;
3.熟悉Discuz!,UCHome產(chǎn)品,能做二次開發(fā);
這也是我招人時所要求的。一般而言,PHP的項目不會用微軟的windows平臺和sqlserver數(shù)據(jù)庫,除非公司足夠大,不然linux服務器的管理便是由PHP程序員兼顧。Mysql數(shù)據(jù)庫可不像微軟的Sqlserver那么傻瓜化,配置與調(diào)優(yōu)是一門大學問。稍為正式一點的門戶都會搭配著上Discuz論壇或者UCHome,整合與二次開發(fā)便是無可避免的事情。當一個PHP程序員具備這些技能時,薪資高些也在情理之中。各位學PHP的朋友們,看到這里應該對自己的學習計劃有比較清楚的認知了吧。
作為開源世界的前鋒,PHP有很多優(yōu)秀的架構(gòu),如Zend, CakePhp, Symfony等等。其實一直到項目開發(fā)完畢我才開始接觸Zend,一個成熟的架構(gòu)的確能減輕不少工作量,但是如果在項目啟動時就貿(mào)然上這么大的框架,而本身對PHP技術(shù)沒有很深了解的情況下是很難駕馭的了的,勢必引發(fā)出各種各樣棘手的問題。正是考慮到了這一點,所以我步步為營的往前走。先是采用最原始的方式,將PHP與HTML代碼混合著編碼,做完兩個模塊后對PHP語法和她的一些特性、怪癖有了清楚的了解后開始加入Smarty模板,將業(yè)務邏輯與用戶界面進行分離。再做幾個模塊,搞清楚了Smarty的那套語法、標簽和組件后再把數(shù)據(jù)處理剝離出來形成了MVC架構(gòu),一點一點的完善,既保證了開發(fā)的進度,也使得系統(tǒng)越來越合理,一直到最后穩(wěn)當?shù)耐瓿闪苏麄€項目,沒出大亂子。到了最后再回頭來看Zend,CakePhp這些覺得也沒什么神秘。
因為開源,所以PHP是個沒爹沒娘的孩子,不像微軟,無論是平臺、語言、數(shù)據(jù)庫、IDE全都打上Microsoft Family的烙印,大多數(shù)東西微軟都封裝好了,你不知道為什么,也不需要知道為什么,使用就是了。初用PHP難免會遇到一些奇奇怪怪的問題,例如相對路徑與絕對路徑、數(shù)據(jù)庫亂碼、header跳轉(zhuǎn)報錯、session也報錯等等。也正是因為開源,所以網(wǎng)絡上幾乎都有相應的解決方案,只要你真正了解問題的根源,自然能搜索得到相對應的答案。
WEB開發(fā)很大的比重是在于數(shù)據(jù)庫的操縱,SQL便是程序員必需精通的一門技能。相信有不少PHP程序員如我一樣,是從微軟開發(fā)平臺轉(zhuǎn)行過來的。用習慣了Sqlserver,改用Mysql時也會遇到一些小挫折,畢竟是兩家公司不一樣的產(chǎn)品。最明顯的就是指定行數(shù)的關鍵字top變成了limit,連接符+在mysql中變成了concat等。這些倒都是小事情,記得就是了。有一種SQL卻讓我有點不爽。如:select * from table1 where userid in(select top 10 id from table2 order by createdate desc),在mysql里因為不支持而改成了select * from table1 where userid in(select id from(select id from table2 order by createDate desc limit
10)as t)order by createDate desc。這樣累贅的語義很讓我煩惱總記不住,最后準備了一本mysql cookbook。
PHP是一門優(yōu)秀的開發(fā)語言,以后將會繼續(xù)大放異彩,特別是在facebook推出hithopPHP之后。真要說到項目開發(fā),那是一本書的篇幅也講不完的事情。以上只是總結(jié)我在開發(fā)過程中的感受和經(jīng)驗,真正的應用還得在項目實戰(zhàn)中自由發(fā)揮。一千個人眼里有一千個哈姆雷特,一千個人就有一千種解決問題的辦法,但終究只有一種方法是最有效直接的,編程、就是不停的尋找那種方法。
PHP書籍推薦:
書店里PHP開發(fā)的書籍非常多,但真正優(yōu)秀的卻很少。下面推舉幾本我看過、用過、感覺不錯的書供學習參考。
《大道PHP-LAMP+Zend+開源框架整合》 電子工業(yè)出版社
這本書是我接手PHP項目后買的第一本PHP書籍,99塊人民幣,846頁的篇幅,一直到項目完成我都沒完整看完,只是把它當工具書查閱使用。這本書不太適合初學者,里面有不少案例是錯誤的,必需修改后才能運行。Zend框架也介紹得太過簡單。
《PHP Web2.0開發(fā)實戰(zhàn)》 人民郵電出版社
老外寫的一本書,技術(shù)含量比較高,詳細介紹Zend架構(gòu)與Smarty配合使用,所用的案例也是循序漸進步步深入。適合有基礎的PHP程序員閱讀。
《PHP經(jīng)典實例》 中國電力出版社
也是翻譯自國外,O'Reiely出版社的技術(shù)類書籍就好比中華書局的史學書,商務印書館的學術(shù)書一樣,絕對可以放心。
第二篇:php學習經(jīng)驗
感覺要學好一門編程語言,關鍵要有對比,多看看別人的代碼,多寫代碼。
我的php是自學的,所以自學的角度來說。
一開始都是看書,在選書的過程中要根據(jù)自己的情況,沒有其他編程語言基礎的,或者只有大學那點C語言基礎的,都建議看國內(nèi)的作者寫的書,國外寫的一般涉及面較廣,相對難度較大,不太適合初學者。
這個過程,可以看視頻加快學習進度,推薦的入門視頻lamp兄弟連和php100的視頻。一定要經(jīng)常上機練手。多多加相關的qq群,去那些php技術(shù)的論壇,去看看他們具體談論的話題,看看自己薄弱之處。當你看完一本,這種書的內(nèi)容的結(jié)尾一般都是用smarty或者zend framework做一個小項目,就不必在看書了(國內(nèi)的書都是一個套路,選一本最厚的看,其他的以后都不用再看了),可以先做一個功能齊全的新聞發(fā)布系統(tǒng),在實踐中鞏固書本的知識。
基本的語法和面向?qū)ο蟮膬?nèi)容看完之后。必須了解一下php的框架,建議初學者先看看thinkphp,比較簡單,之后再看看zend framework這類比較大的框架。這一步不需要精通而只要初步了解一下MVC和面向?qū)ο缶幊痰闹R,之后在學習中,不斷加深。
當這些做完,你對做web開發(fā)有個大概印象時。就要看看別人成熟的產(chǎn)品,php的cms,像dede,ecshop,wordpress,joomla,drupal等,抓一個自己認為適合自己現(xiàn)階段最適合學的,也是視頻和書本輔助的,好像joomla,drupal都有實體書了。學習別人的cms,能讓學到很多技術(shù)和思想。但了解別人代碼的意思,這個過程是痛苦的,特別是對很多基礎不牢的,但這是必須的,和別人對比才能進步。php就是這樣,你沒有任何技巧都可以搭建出一個網(wǎng)站。但這樣的網(wǎng)站根本就不可作為商業(yè)用途。
之后,就要在工作崗位上提升自己,所以先要找一份工作崗位,現(xiàn)在php還是很熱門的(以后我不敢保證),這種工作挺好找的,只要你能做出一個像樣的新聞發(fā)布系統(tǒng),一般的小公司會要的,但是工資比較低,可能是一千來塊。要學好一門語言,都是要有相應的工作經(jīng)驗的,不太可能是自己在家搗鼓搗鼓就能成為高手的。在工作中跟別人相互學習,在工作不斷地解決問題,能讓你不斷進步。
在學習中一些問題也要加強,你可以看看招聘中他們所寫的要求比如緩存,靜態(tài)化等等,比較實用的東西,你是否掌握。還有php高手都是多面手,linux,mysql甚至其他語言都是精通的。
第三篇:PHP學習推薦
PHP學習推薦
PHP,是英文超級文本預處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,是一種在服務器端執(zhí)行的嵌入HTML文檔的腳本語言,現(xiàn)在越來越多的人加入到了php的大家庭中,其中很多人只是淺嘗輒止,為何會如此呢?最大的障礙莫過于學習的過程枯燥乏味,從而失去學習興趣,那么小編就自己的經(jīng)驗來說說怎樣學習php吧。
學習方法之視頻教程
相對于讀書來說,我更喜歡看視頻學習,可能小編我對影像比文字記憶更加深刻吧。每看完一個視頻教程,我都會閉上眼睛休息一會,把剛才看的內(nèi)容消化消化,然后再開始練習剛才看過的內(nèi)容,盡可能不邊看邊做,因為這樣學的快同樣也忘得快,如果實在想不起來的話,可以再打開教程看一遍,切記不可囫圇吞棗,好高騖遠,要穩(wěn)扎穩(wěn)打,把你看過的教程切切實實的記在心里。只有一步一個腳印,你的學習之路才能走的更遠,否則的話,你走的越遠,越會覺的道路是如此艱辛,或許你就會放棄學習。那么都有哪些視頻教程能幫我們學習php呢,小編我就為大家介紹幾個吧:
php100
LAMP兄弟連
李炎恢的php
學習方法之看書: 1.《PHP與MySQL程序設計(第4版)》
2.《PHP Web 2.0 開發(fā)實戰(zhàn)》
3.《PHP高級程序設計:模式、框架與測試》
4.《PHP 5 高級應用開發(fā)實踐》
5.《細說php》
學習過程中不要死記語法,要多動手,多練習,當你遇到問題的時候,首先嘗試自己解決。多用google,baidu,網(wǎng)絡是一個大知識庫,是最好的老師,你遇到的問題,別人也遇到過,多去搜索一下吧.多閱讀別人的源代碼,要看懂別人的設計思想,不斷融為已用.
第四篇:PHP學習總結(jié)的一些經(jīng)驗
其實我也是一樣很新的新手,上PHP100學習視頻并在論壇里學習其實也就是一個月前的事.雖然早在8月份花過一個星期看完w3school的PHP教 程,了解了許多PHP知識.但始終是缺乏一個與眾多朋友學習和交流的平臺,所以一下子在幾周后又把PHP又忘得七七八八了,有幸在10月尾了解到了 PHP100視頻和論壇,不僅可以系統(tǒng)地學習下PHP,更可以和很多朋友一起學習成長這更是件好事.在php100視頻中學到了許多,而 論壇中看帖和回帖也更讓我鞏固了學習的知識并讓我學到了很多,這不僅不會讓我又把PHP知識快速忘記(因為工作中用是ASP,而PHP不會在工作中用,所 以忘得快),反而在取得進步的同時,我也能幫助一些人,這也是一樣是學習勝利的過程,我喜歡并享受其中.以下是我上論壇以來的回復總結(jié),將不斷持續(xù)總結(jié).希望有利于與我一樣的新手一起成長.首先來個,題前語:
任何的學習,都需要自信,再新的新手也應該拋棄心中的恐懼,有時關鍵在于你心平下來,踏入學習后,你將慢慢化開迷惑,獲得信心,贏取自信!讓我們共同進步.----------
==========
Undefined index問題
是運行的時候出現(xiàn)類似:Notice: Undefined index: action in D:wamp004km.cn/read.php?tid=15843&page=1#138857
是 php 配置的事情
這個錯誤是因為 php 頁面中的變量沒有初始化而導致的!
可以通過設置PHP.INI搞好,也可以在變量前面 加上一個 @ 就可以解決這個地方的問題了!
如這里指示第三行
Notice: Undefined index: action in D:wamp004km.cn/2009/0617/6463.php
----------
==========
遇到頁面明確提示你錯誤的,并有顯示如何錯的,建議先把語句復制部分重點詞句或全部語句到百度或
google,更快速讓在你排查錯誤找到方法.其實這也是一種高效有益的學習方法,畢竟在工作中,遇到些沒
遇過的新問題,有時都需要借助網(wǎng)上的資源給自己靈感和助力,本人就一天不下幾十次用百度搜索.如程序中遇到諸如含提示:
顯示的錯誤為:
Parse error: syntax error, unexpected $end in D:wampwwwtestlist.php on line 21
那么你就可以把 syntax error, unexpected $end 作為關鍵詞到百度搜索,那么你即刻可以得到助力甚
至答案.以上那句舉例的錯誤是因為:短標簽沒有打開.解決方法是打開php.ini把short_open_tag短標簽
打開,重啟服務即可
----------
==========
提示的時候,有時順便把代碼帖上帖子是必要的,這樣才能快速地在別人的幫助下問題得到解決
----------
==========
對單引號和雙引號有迷惑,大家可以看這篇文章解下惑:
----------
==========
在調(diào)試程序時,經(jīng)常要用到echo 你的sql語句來,檢查傳值后,sql變成了什么樣的情況,以便排查錯誤.----------
==========
向數(shù)據(jù)庫表插入數(shù)據(jù)
INSERT INTO 語句用于向數(shù)據(jù)庫表添加新紀錄。
語法
INSERT INTO table_name VALUES(value1, value2,....)--此種情況是需要按你表中所有字段的順
序全部value填上!
您還可以規(guī)定希望在其中插入數(shù)據(jù)的列:
INSERT INTO table_name(column1, column2,...)VALUES(value1, value2,....)--張老師明確建
議用此種方法!
----------
==========
有人疑惑,$_POST或$GET取得時的引號問題:其實是要不要引號,單引號或雙引號都是沒有問題的.如, $_POST[name]和$_POST['name']和$_POST[“name”]都是在windows下一樣的,在linux下情況具體沒
用過,不知道,還望高手告知.----------
==========
針對多數(shù)人的留言板課程中許多問題(如,insert into存不進數(shù)據(jù)問題)的總結(jié):
1.檢查你數(shù)據(jù)庫表的結(jié)構(gòu)是否正確,如id是否設為自增
2.insert into語句是否正確,如單詞是否正確,insert into...values...3.是否將`(反斜點,在1鍵前)號和'(引號)是否使用位置正確,正確的方法是:`應該放在表和字段邊,而'
是放在字符串型(或者說是非數(shù)字型)的值邊上
4.檢查你的各語句,是否在結(jié)尾將分號(;)正確結(jié)束
5.檢查你的submit表單項的name值是否你判斷的取值,如
value=“提交”>時,你的判斷是否提交應是 if($_POST[submit]){...};當你的是
type=“submit” name=“othername” value=“提交”>時,你的判斷是否提交應是 if($_POST
[othername]){...}
6.檢查你的$_POST是否大寫,當你寫成$_post是不行的,因為$_GET,$_POST等,都是PHP系統(tǒng)環(huán)境的硬性用
法
7.用echo 輸出你的sql檢查傳值情況
8.檢查你的短標簽是否打開
9.注意你的method是get還是post
10.檢查你的表單相關單詞或引號是否書寫正確.很多莫名其妙的問題,多是細節(jié)問題.要小心查對才能看
出來.----------
sql語句中表名和字段名在windows的情況下是可以不加小斜點(鍵盤左上角1鍵前的那個點鍵)的,但聽說
在linux中不加會引出些問題,兼容的寫法是有小斜點.如:windows下:
$sql=“select * from table ”
和
$sql=“select * from `table` ”
是效果一樣的再次重點提示是:
`(反斜點,在1鍵前)號和'(引號)使用位置,正確的方法是:`應該放在表和字段邊,而'是放在字符串型(或
者說是非數(shù)字型)的值邊
----------
==========
php100第十三講的page.PHP中的翻頁顯示信息有問題的解決方法:
因為頁面沒有取值到URL值的page,所以在函數(shù)內(nèi)的page會一直是1,所以會一直是第1頁的數(shù)據(jù)
解決方法,就是在調(diào)用函數(shù)前把page取得就好了!函數(shù)里會把取到的page值作為全局變量傳入函數(shù)使用的了!
include(“conn.php”);
$nump=mysql_query(“SELECT * FROM `test`”);
$total=mysql_num_rows($nump);
//調(diào)用pageft(),每頁顯示10條信息(使用默認的20時,可以省略此參數(shù)),使用本頁URL(默認,所
以省略掉)。
$page=$_GET[page];//------------------------------在這里加入這行就OK了!
_PAGEFT($total,5);
echo $pagenav;
$query=mysql_query(“SELECT * FROM `test` limit $firstcount,$displaypg ”);//---見下面 while($row=mysql_fetch_array($query)){
echo “
”.$row[name].“ | ”.$row[sex];
}
以上的調(diào)試方法,其實你只要學下張老師把sql語句輸出來看下,你就知道是怎么回事了!
echo $sql=“SELECT * FROM `test` limit $firstcount,$displaypg ”;
$result=mysql_query($sql);
----------
==========
分頁有問題的朋友,不妨看下如下:
關于分頁,這有一篇論壇朋友的學習心得,學習下,你也許有所得:
另有一篇本人轉(zhuǎn)發(fā)上去的分頁講解:
----------
==========
關于:mysql_fetch_array
mysql_fetch_array 調(diào)用一次會把指針指向的記錄放入數(shù)據(jù),并指向下一條記錄
======================....回復的太多了,總結(jié)又需較多時間,暫時總結(jié)到此,總結(jié)未完,待續(xù).....
第五篇:開發(fā)技術(shù)(PHP)測試題
1、簡述靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁的區(qū)別,從文件擴展名、使用技術(shù)、表現(xiàn)形式、執(zhí)行位置等進行闡述
答案:
2、簡述如何搭建PHP程序的環(huán)境
答案:
3、簡述PHP語言中,流程控制的分類,及幾種代表語句。
答案:
4、簡述表單提交過程中,get和post方式的區(qū)別
答案:
5、簡述session機制的原理
答案:
6、如何在php程序中啟動session
答案:
7、代碼如下
$arr=array(“I”,“am”,“a”,“student”);
$whole=implode(_,$arr);
echo $whole;
代碼輸出的結(jié)果是:
答案:
8、代碼如下
$color=imagecolorallocate($img,0,0,255);
代碼實現(xiàn)的功能:
答案:
9、代碼如下:
echo “今天是 ”.date(Y年n月j日);
$w=date(w);
$week=array(星期日,星期一,星期二,星期三,星期四,星期五,星期六);
echo $week[$w];
代碼實現(xiàn)的功能:
輸出今天的日期和是周幾
輸出的內(nèi)容是(按考試的日期來輸出即可):
2021/12/21 星期二
答案:
10、代碼如下:
$pageno=isset($_GET[pageno])?$_GET[pageno]:1;
代碼實現(xiàn)的功能:
答案:
11、php的源碼是
A、開放的
B、封閉的C、需購買的D、完全不可見的答案: A12、靜態(tài)網(wǎng)頁的執(zhí)行在瀏覽器端完成,動態(tài)網(wǎng)頁的執(zhí)行在服務器端完成答案: 正確
13、動態(tài)頁面中不可以出現(xiàn)html、css和javaScript的代碼
答案: 錯誤
14、服務器收到客戶發(fā)出的靜態(tài)頁面請求之后,只把該頁面文件發(fā)送給客戶瀏覽器來執(zhí)行
答案: 錯誤
15、存放在任意文件夾中的php文件都可以通過localhost/…方式來執(zhí)行
答案: 錯誤
16、搭建PHP環(huán)境時要先安裝php,再安裝apache服務器
答案: 錯誤
17、apache服務默認占用80號端口,不可更改
答案: 錯誤
18、下面哪項不屬于靜態(tài)網(wǎng)頁設計中使用的核心技術(shù)
A、HTML
B、DreamWeaver
C、CSS
D、Javascript
答案: B19、下面哪組中列舉的技術(shù)都屬于動態(tài)網(wǎng)頁設計時使用的核心技術(shù)
A、ASP、JSP、SSP
B、JSP、XHTML、PHP
C、JSP、PHP、ASP
D、PHP、ASP、Javascript
答案: C20、動態(tài)網(wǎng)頁與靜態(tài)網(wǎng)頁的本質(zhì)區(qū)別是
A、靜態(tài)頁面運行后能夠查看所有的源代碼,動態(tài)頁面中動態(tài)部分源代碼則無法查看
B、靜態(tài)網(wǎng)頁任何時候運行內(nèi)容都相同,動態(tài)頁面則不然
C、動態(tài)頁面是在服務器端執(zhí)行的,而靜態(tài)頁面是在瀏覽器端執(zhí)行的D、靜態(tài)頁面中可以包含各種小動畫,動態(tài)頁面不可以
答案: C21、下面各種說法中錯誤的是
A、在動態(tài)頁面中可以包含大量的靜態(tài)代碼
B、使用靜態(tài)頁面技術(shù)可以實現(xiàn)動態(tài)變化的時鐘效果
C、動態(tài)頁面的運行過程通常會包含在服務器端的執(zhí)行過程和在瀏覽器端的執(zhí)行過程兩個階段
D、瀏覽器請求執(zhí)行一個靜態(tài)頁面時,服務器先把頁面文件執(zhí)行完畢,然后將結(jié)果傳遞到瀏覽器端顯示
答案: D22、下面關于PHP的說法錯誤的是
A、PHP是一種服務器端的腳本
B、PHP程序可以在任意環(huán)境中執(zhí)行
C、在PHP文件中可以包含任意的HTML代碼和樣式的應用
D、使用PHP可以實現(xiàn)注冊、登錄、在線投票、訪客計數(shù)等動態(tài)頁面中需要的各種功能
答案: B23、若PHP文件中包含html代碼,下面描述中正確的是
A、服務器將整個php文件發(fā)送給瀏覽器執(zhí)行
B、服務器將所有代碼執(zhí)行后將結(jié)果送給瀏覽器
C、服務器執(zhí)行html代碼后將執(zhí)行結(jié)果和php代碼一起送給瀏覽器
D、服務器執(zhí)行php代碼后,將指向結(jié)果和html代碼一起送給瀏覽器
答案: D24、下面哪組是PHP支持的服務器環(huán)境
A、Apache和pws
B、Apache、IIS和pws
C、Apache和IIS
D、只有Apache
答案: C25、若是系統(tǒng)中已經(jīng)存在了IIS服務,且占用了80端口號,則下面說法正確的是
A、Apache能夠成功安裝,但是無法啟用,只需要修改端口號即可啟用
B、Apache無法完成安裝過程
C、Apache能夠成功安裝,且能正常啟用
D、以上說法都不正確
答案: A26、下面關于Apache主目錄說法錯誤的是
A、安裝Apache之后,必須要將頁面文件放在其主目錄下才能正常運行
B、安裝Apache之后,系統(tǒng)會給其指定默認的主目錄
C、Apache的主目錄不能隨意修改
D、用戶可以根據(jù)需要修改Apache主目錄
答案: C27、搭建apache web服務器(使用phpstduy)之后,默認情況下運行文件時的localhost對應哪個文件夾?
A、apache
B、htdocs
C、,需要使用哪個代碼實現(xiàn)
A、onsubmit=“window.open(zhuce.html);”
B、onsubmit=“window.open(zhuce.html);”
C、onclick=“window.open(zhuce.html);”
D、onclick=“window.open(zhuce.html);”
答案: C185、要在表單文本框中顯示數(shù)組元素$row[title]的值,則代碼是:
答案:
echo $row[title];;
解析:
186、判斷表單文本框age的數(shù)據(jù)是否提交到服務器端的方法是______
A、if($_POST[age]==)
B、if(isset($_POST[age]))
C、if($_POST[age]=)
D、if(isset($_FILES[age]))
答案: A187、代碼if(document.getElementById(jieshao).value=)用于判斷id為jieshao的表單元素值是否為空
答案: 錯誤
188、使用函數(shù)move_uploaded_file()時只需提供一個參數(shù)
答案: 錯誤
189、表單中有文件域元素時,下面哪個說法錯誤________
A、中method屬性取值可以是get
B、中enctype屬性取值為multipart/form-data
C、文件域元素需要設置name屬性
D、可以有多個文件域元素
答案: A190、存在表單文件域元素fname,系統(tǒng)數(shù)組$_FILES[fname]中的內(nèi)容不包括___
A、上傳文件的名稱
B、上傳文件的類型
C、上傳文件的大小
D、上傳文件的內(nèi)容
答案: D191、進行文件上傳時,文件相關信息存放在系統(tǒng)數(shù)組____中
答案: $_FILES;
192、以下系統(tǒng)數(shù)組中可以使用兩個下標的是___________
A、$_POST
B、$_GET
C、$_FILES
D、$_SESSION
答案: C193、函數(shù)move_uploaded_file()只需要一個參數(shù)()
答案: 錯誤
194、若存在文件域元素名稱為f1,$_FILES[‘F1’]是一個數(shù)組()
答案: 正確
195、進行文件上傳時,需要在form標記中設置屬性enctype的取值是
A、multipart/form-data
B、text/plain
C、application/x-www-form-urlencoded
D、以上都不是
答案: A196、關于函數(shù)move_uploaded_file(),下列說法錯誤的是
A、該函數(shù)需要指定兩個參數(shù)
B、第二個參數(shù)需要同時指定文件存儲的位置和要保存文件的名稱
C、第一個參數(shù)需要指定文件的臨時存儲位置和臨時名稱
D、以上說法都是錯誤的答案: D197、關于系統(tǒng)數(shù)組$_FILES,第二個下標不包含下面哪一項
A、tmpname
B、size
C、name
D、type
答案: A198、關于多文件上傳功能中,下面說法錯誤的是
A、文件域元素中必須添加multiple屬性
B、可以同時選擇不同文件夾中的文件
C、$_FILES[file1][name]是一個數(shù)組
D、文件域元素的name屬性取值必須帶有[]
答案: B199、$_FILES{“touxiang”][“type”]作用是
A、獲取上傳文件的類型
B、獲取上傳文件的大小
C、獲取上傳文件的名稱
D、獲取上傳文件的臨時存儲信息
答案: A200、完成文件上傳功能,在標簽中使用哪個屬性設置編碼_____
A、enctype
B、name
C、ID
D、action
答案: A201、在A網(wǎng)頁上創(chuàng)建了一個Session變量:$____SESSION[“user”]=“張三”,在B網(wǎng)頁上要輸出這個Session變量的值,應使用。
答案: echo $_SESSION[“user”];
202、在同一個網(wǎng)站的不同文件之間傳遞數(shù)據(jù)的機制是__________
A、session
B、cookie
C、application
D、post
答案: A203、下面哪個系統(tǒng)數(shù)組不用于接收表單提交的數(shù)據(jù)________
A、$_SESSION
B、$_FILES
C、$_POST
D、$_GET
答案: A204、關于session機制的描述中正確的是_____
A、用戶的session都保存在瀏覽器端
B、一旦某個頁面向session中提供了數(shù)據(jù),當前網(wǎng)站中在該頁面之后執(zhí)行的頁面文件都可以根據(jù)需要從中獲取該數(shù)據(jù)
C、不同網(wǎng)站的頁面之間可以通過session機制來傳遞數(shù)據(jù)
D、session中存放的是所有用戶的共用數(shù)據(jù)
答案: B205、點擊超鏈接可以向服務器提交數(shù)據(jù)()
答案: 正確
206、鏈接打開文件count.php時使用鍵名uname提交數(shù)據(jù)“l(fā)iuhong”,超鏈接href屬性的取值為
A、href=“count.php”?uname=“l(fā)iuhong”
B、href=“count.php?uname:liuhong”
C、href=“count.php?uname=liuhong”
D、href=“count.php”?uname:“l(fā)iuhong”
答案: C207、關于session機制的描述中錯誤的是
A、服務器可通過sessionID來區(qū)分各個不同用戶
B、一旦某個頁面向session管道中提供了數(shù)據(jù),當前網(wǎng)站中在該頁面之后執(zhí)行的頁面文件都可以根據(jù)需要從管道中獲取該數(shù)據(jù)
C、不同網(wǎng)站的頁面之間可以通過session機制來傳遞數(shù)據(jù)
D、要提供數(shù)據(jù)的頁面和要獲取數(shù)據(jù)的頁面都要啟用session
答案: C208、下面說法中錯誤的是
A、變量有生命周期
B、session有生命周期
C、session產(chǎn)生于用戶開始訪問一個網(wǎng)站時
D、一個session中可以保存多個用戶的信息
答案: D209、在PHP中,有兩個函數(shù)與cookie操作有關。其中____用來設置cookie變量內(nèi)容, ____用來讀取cookie變量內(nèi)容。
答案: setcookie;$_COOKIE;
210、能夠在同一網(wǎng)站不同頁面之間傳遞數(shù)據(jù)的機制是____,在程序代碼開始處啟用該機制時需要使用的代碼是____
答案: session;session_start();
211、Session可以在不同網(wǎng)站的頁面之間傳遞數(shù)據(jù)()
答案: 錯誤
212、mysql數(shù)據(jù)庫中查詢數(shù)據(jù)用select語句
答案: 正確
213、以下說法不正確的是
A、模糊查詢使用的關鍵字是like
B、排序查詢asc是降序,desc是升序
C、分頁查詢使用的關鍵字是limit
D、mysql如果只安裝服務不安裝界面也可以正常使用
答案: B214、在用瀏覽器查看網(wǎng)頁時出現(xiàn)404錯誤可能的原因是
A、頁面源代碼錯誤
B、文件不存在C、與數(shù)據(jù)庫連接錯誤
D、權(quán)限不足
答案: B215、安裝MySQL數(shù)據(jù)庫之后,默認使用的是根用戶root
答案: 正確
216、卸載MySQL時,說法正確的是
A、只要在控制面板中卸載軟件即可
B、在控制面板中卸載軟件后,清理完注冊表信息即可
C、先刪除系統(tǒng)盤符下的文件夾,再清理注冊表信息,最后卸載軟件
D、先在控制面板中卸載軟件,然后清理注冊表信息,最后刪除系統(tǒng)盤符下的相關文件夾
答案: D217、MySQL服務器有一個超級管理員賬號,其名稱是()
A、admin
B、root
C、sa
D、Administrator
答案: B218、mysqli中返回結(jié)果集中記錄總數(shù)的函數(shù)是()
A、fetch_row
B、fetch_assoc
C、num_rows
D、field_count
答案: C219、訪問mysql數(shù)據(jù)庫時,用來選擇并打開指定數(shù)據(jù)庫的方法是_________
A、mysqli_query()
B、mysqli_connect()
C、mysqli_select_db()
D、mysqli_num_rows()
答案: C220、若是在某次訪問數(shù)據(jù)庫的操作中,需要用到如下四個函數(shù)
①mysqli_num_rows()②mysqli_select_db()、③mysqli_connet()④mysqli_query()
則使用這四個函數(shù)的順序是___________
A、①②③④
B、②③①④
C、③②④①
D、③④①②
答案: C221、PHP中選擇打開數(shù)據(jù)庫的方法是______
A、mysqli_connect()
B、mysqli_select_db()
C、mysqli_query()
D、mysqli_num_rows()
答案: B222、查詢用戶名和密碼信息是否存在時,關于查詢結(jié)果記錄集$result的說法錯誤的是____
A、該記錄集中的記錄數(shù)只能是0或者1
B、該記錄集中的記錄數(shù)無法預知
C、若記錄數(shù)是0,說明用戶輸入的賬號或者密碼信息有誤
D、若記錄數(shù)是1,說明用戶輸入的賬號和密碼信息正確
答案: B223、訪問mysql數(shù)據(jù)庫時,從查詢結(jié)果記錄集中獲取一條記錄的方法是
A、mysql_num_rows()
B、mysql_select_db()
C、mysql_fetch_array()
D、mysql_fetch_Array()
答案: C224、函數(shù)mysql_fetch_array()的作用是
A、獲取一個數(shù)組中的元素
B、從查詢結(jié)果記錄集中獲取一條記錄并以對象方式存儲訪問
C、從查詢結(jié)果記錄集中獲取一條記錄并以數(shù)組方式存儲訪問
D、以上說法都不正確
答案: C225、下面操作MySQL數(shù)據(jù)庫的方法中,哪個返回值可能是false
A、mysql_fetch_array()
B、mysql_select_db()
C、mysql_num_rows()
D、mysql_fetch_Array()
答案: A226、查詢數(shù)據(jù)表時,限制獲取查詢結(jié)果中序號為6、7、8的記錄,需要使用的子句是
A、limit 6,8
B、limit 6,2
C、from 6 to 8
D、start 6 to 8
答案: B227、MySQL數(shù)據(jù)庫操作中,Create New Schema命令的作用是
A、創(chuàng)建數(shù)據(jù)表
B、創(chuàng)建數(shù)據(jù)表中一個列名
C、創(chuàng)建數(shù)據(jù)庫
D、以上說法都不正確
答案: C228、關于數(shù)據(jù)庫的導入操作,下列說法中錯誤的是
A、使用的命令是Restore
B、導入過程中可以更改原來數(shù)據(jù)庫的名稱
C、導入過程中必須要選擇忽略錯誤選項,否則導入無法完成D、若安裝數(shù)據(jù)庫時選擇的字符集是GBK,則導入過程中,必須要選擇字符集是GBK
答案: D229、關于PHP訪問MySQL數(shù)據(jù)庫的各種方法,下列說法中正確的是
A、在使用mysql_connect()連接數(shù)據(jù)庫成功之后,就可以直接訪問數(shù)據(jù)表完成各種操作
B、mysql_num_rows()的作用是獲取查詢結(jié)果記錄集中記錄的個數(shù),其參數(shù)可以省略
C、mysql_select_db()的作用是選擇打開指定的數(shù)據(jù)庫,可以只指定一個參數(shù)
D、mysql_query()函數(shù)只能執(zhí)行查詢語句,不能執(zhí)行插入、刪除、更新語句
答案: C230、假設用戶在登錄時,輸入的用戶名信息保存在變量$emailaddr中,密碼保存在變量$psd中,查詢數(shù)據(jù)表usermsg中是否存在該用戶名和密碼信息,需要定義的查詢語句是
A、select * from usermsg where emailaddr=$emailaddr or psd=$psd
B、select * from usermsg where emailaddr=$emailaddr and psd=$psd
C、select * from usermsg where emailaddr=$emailaddr and psd=$psd
D、select * from usermsg where emailaddr=$emailaddr or psd=$psd
答案: B231、查詢用戶名和密碼信息是否存在時,關于查詢結(jié)果記錄集$result的說法錯誤的是
A、該記錄集中的記錄數(shù)只能是0或者1
B、該記錄集中的記錄數(shù)無法預知
C、若記錄數(shù)是0,說明用戶輸入的賬號或者密碼信息有誤
D、若記錄數(shù)是1,說明用戶輸入的賬號和密碼信息正確
答案: B232、要獲取記錄集$result中的記錄數(shù),需要使用代碼
A、count($result)
B、mysql_num_row($result)
C、mysql_nums_rows($result)
D、mysql_num_rows($result)
答案: D233、MySQL中使用Select語句查詢時,要限制返回的行數(shù)可使用____子句。
答案: limit;
234、訪問mysql數(shù)據(jù)庫時,從查詢結(jié)果記錄集中獲取一條記錄的方法是__________
A、mysqli_num_rows()
B、mysqli_select_db()
C、mysqli_fetch_array()
D、mysqli_query()
答案: C235、在mysql Administrator界面下,Create New Schema命令的作用是_____
A、創(chuàng)建數(shù)據(jù)庫
B、創(chuàng)建數(shù)據(jù)表中一個列名
C、創(chuàng)建數(shù)據(jù)表
D、以上說法都不正確
答案: A236、關于數(shù)據(jù)庫的導入操作,下列說法中錯誤的是_____
A、使用的命令是Restore
B、導入過程中可以更改原來數(shù)據(jù)庫的名稱
C、導入過程中必須要選擇忽略錯誤選項,否則導入無法完成D、使用的命令是Backup
答案: D237、假設用戶在登錄時,輸入的用戶名信息保存在變量$uname中,密碼保存在變量$psd中,查詢數(shù)據(jù)表user中是否存在該用戶名和密碼信息,需要定義的查詢語句是_______
A、select * from user where uname=$uname or psd=$psd
B、select * from user where uname=$uname and psd=$psd
C、select * from user where uname=$uname and psd=$psd
D、select * from user where uname=$uname or psd=$psd
答案: B238、要獲取記錄集$result中的記錄數(shù),需要使用代碼______
A、count($result)
B、mysqli_num_row($result)
C、mysqli_nums_rows($result)
D、mysqli_num_rows($result)
答案: D239、MySQL數(shù)據(jù)庫的根用戶是____
答案: root;
240、下面的程序使用mysqli內(nèi)置函數(shù)連接數(shù)據(jù)庫,并將表lyb中的記錄顯示在網(wǎng)頁中,將1234處填寫完整
241、下面的程序用來刪除記錄,當用戶單擊“刪除”超鏈接時,記錄將被刪除,將下面1234處的代碼補充完整
1.isset 2$_GET[“id”] 3.$id 4.$sql,$conn242、下面的程序是獲取到下面表單發(fā)送來的信息并按以下格式輸出
將下面的服務器端的程序補充完整,在1234處填寫合適的代碼
$user=$_POST[“user”];
$pwd=$_POST[“pwd”];
$addr=$_POST[“addr”];
echo $user.“您好,您住在”.$addr.”,您的密碼是“.$pwd;
243、1)寫一個函數(shù),函數(shù)名為Trimtit,有兩個參數(shù)$tit,$n,函數(shù)的功能是根據(jù)指定的長度截取原始字符串。
如果原始字符串$tit的長度大于指定長度$n,則返回從左端截取的字符串并加“…”
如果長度未超過指定長度,則返回原始字符串。
2)并編寫測試代碼,使用函數(shù)實現(xiàn)字符串的截取。
答案:
function Trimtit($tit,$n){if(strlen($tit)>$n){
echo ”...“.substr($tit,0,$n);
}
else
echo $tit;
}
Trimtit(”tit664848",5);
解析:
244、編寫一個函數(shù),輸入是5個分數(shù),輸出是去掉一個最高分和去掉一個最低分后的平均分。
答案:
function num($a,$b,$c,$d,$e){
$s=array($a,$b,$c,$d,$e);
$max=0;
$min=$s[0];
$abc=0;
for($i=0;$i if($max<=$s[$i]){ $max=$s[$i]; } if($min>=$s[$i]){ $min=$s[$i]; } $abc+=$s[$i]; } $abc=($abc-$min-$max)/5; echo $abc; } num(11,22,33,44,55); 解析: 245、使用for循環(huán),完成1+2+3+4+…+100求和過程,使用變量$sum表示結(jié)果并輸出。 答案: $num=0; for($i=1;$i<=100;$i++){ $num+=$i; } echo $num; imagecreatetruecolor 輸出真彩色圖像 246、下面哪一個不是函數(shù)imagettftext()的參數(shù)_______ A、輸出字符的坐標 B、輸出字符的角度 C、字號 D、加粗輸出的字符 答案: D247、創(chuàng)建真彩色圖像,使用的函數(shù)是____ 答案: imagecreatetruecolor(); 248、代碼imagecolorallocate($img1,255,255,0)的作用是創(chuàng)建____色 答案: 黃; 249、imageline()函數(shù)能夠在畫布中畫線,需要四個參數(shù)() 答案: 錯誤 250、用于創(chuàng)建一幅真彩色圖像的函數(shù)是 A、imagecreatetruecolor() B、imagecreate() C、imagecolorallocate() D、imagefill() 答案: A251、用于為指定圖像分配顏色的函數(shù)是 A、imagecreatetruecolor() B、imagecreate() C、imagecolorallocate() D、imagefill() 答案: C252、下面哪一個不是函數(shù)imagettftext()的參數(shù) A、字號 B、輸出字符的角度 C、輸出字符的顏色 D、加粗輸出的字符 答案: D253、函數(shù)imagesetpixel()的作用是 A、在指定位置畫一條直線 B、在指定位置設置一個單一像素 C、使用指定的顏色填充指定的區(qū)域 D、新建一個基于調(diào)色板的圖像 答案: B254、若$color表示藍色,代碼imagefill($img,0,0,$color)作用是 A、設置畫布$img中坐標0,0的點為藍色 B、為畫布填充藍色 C、在畫布中畫藍色直線 D、輸出畫布 答案: B255、用于為畫布分配顏色的函數(shù)是_____ A、imagefill() B、imagecreate() C、imagecolorallocate() D、imagecolor() 答案: D