php工具書
首先,學編程很苦,並且周期很長,大概7-8時間,你可以達到高級程序員這個級別。
學習的最佳時間是晚上。
剛開始從BASIC開始吧,為什麼,簡單啊!
QBASIC語言程序設計
http://book.jqcq.com/proct/582009.html
本書是根據教育部最新頒布的中等職業學校計算機及應用專業《QBASIC編程語言》基礎教學基本要求編寫,同時參考了教育部考試中心制定的計算機等級考試大綱。本書主要內容包括QBASIC語言的基礎知識、基本概念、程序結構及程序設計方法、數組、函數和子程序、字元串、文件 ...
為什麼學它呢?因為他很簡單,剛開始學,最主要的是興趣。我可不想一開始就被C++打倒。
可光看書不行,學編程最要緊的就是練習,可能一開始你會想到用VB。在網吧中可以下,但下完後就半夜了。
這里,我給你推薦一個利器:
FreeBasic
可以編寫WINDONS程序。
http://www.freebasic.net/
這個軟體是免費的,而且很小,大概十幾分鍾就下來了。
BASIC學好後,可以看VB,但我不知道是否能在這個軟體運行。
學完BASIC,你的程序基礎就差不多了。這個時候有四條路在你面前:
VB,C,java,PASCAL。
其中,VB最簡單,但可能工作不是那麼好找,其它三種可以,其中C,JAVA應該是最流行的。
就我的精練,PASCAL比較簡單,JAVA遲滯,最難是C。
下面我分別講講。
首先,PASCAL:
程序設計方法與PASCAL語言
http://book.jqcq.com/proct/100865.html
本書是作者多年教學的總結,通過分析、加工、提煉而成。針對程序設計語言的特點,針對人的思維特點,以面向程序設計為中心,以程序設計方法為主線來介紹PASCAL語言的基於結構化程序設計思想的教科書。作者力求使讀者通過學習本書不僅掌握PASCAL語言,更主要的是使讀 ...
你可以在
FreePascal
http://www.freepascal.org/
下載免費的編譯器。
然後,VB:
VB語言程序設計
http://book.jqcq.com/proct/345299.html
本書以VISUAL BASIC 6.0為語言背景,以程序結構為主線,介紹可視化程序設計的基本知識和編程方法。內容包括:面向對象的初步概念,程序設計基礎,數據輸入/輸出,選擇結構設計,循環結構設計,數組,過程,數據文件,常用控制項的使用,程序調試等。 ...
C語言
C程序設計(第二版)
http://book.jqcq.com/proct/811006.html
C語言是國內外廣泛使用的計算機語言,是計算機應用人員應掌握的一種程序設計工具。本書第一版於1991年出版,全書針對初學者的特點,精心策劃、准確定位、概念清晰、例題豐富、深入淺出,受到專家和讀者的一致好評。普遍認為它是學習C語言的好教材,被全國大多數高校 ...
C語言參考手冊
http://book.jqcq.com/proct/377506.html
語言參考手冊的最新版,在強調正確性、可移植性和可維護性的基礎上,對C語言的具體細節、運行庫以及C語言編程風格做了完整、准確的描述。本書涵蓋了傳統C語言、C89、C95、C99等所有C語言版本的實現,同時討論了C++與C語言兼容的部分。全書自上而下介紹了C語言的詞法結構、預處理器、聲明、類型表達式、語句、函數和運? ...
C++沉思錄 C++沉思錄
http://book.jqcq.com/proct/381460.html
編程技術,不僅告訴你如何編程,還告訴你為什麼要這樣編程。本書曾出現在眾多的C++專家推薦書目中。 這將是C++程序員的必讀之作。因為:它包含了豐富的C++思想和技術,從詳細的代碼實例總結出程序設計的原則和方法。 不僅教你如何遵循規則,還教你如何思考C++編程。既包括面向對象編程也包括泛型編程。 探究STL這一近 ..
泛型編程與STL
http://book.jqcq.com/proct/332062.html
編程與STL》闡述了泛型編程的中心思想:concepts、modeling、refinement,並為你展示這些思想如何導出STL的基礎概念:iterators、containers、function objects。循此路線,你可以把STL想像為一個由來的完整優勢……
C++編程思想第2卷:實用編程技術
http://book.jqcq.com/proct/413352.html
編程技術和最佳的實踐方法,深入探究了異常處理方法和異常安全設計;介紹C++的字元串、輸入輸出流、STL演算法、容器和模板的現代用法,包括模板元編程;解釋多重繼承問題的難點,展示RTTI的實際使用,描述了典型的設計模式及其實現,特別介紹被認為是標准C++下一版特徵之一的多線程處理編程技術,並提供了最新的研究成果? ...
C語言的編譯器,可以使用VC.NET,BC++這些商業軟體。也可以使用一些免費的軟體。
DEV-C++
http://www.bloodshed.net/devcpp.html
這個編譯器很好,我讀書時一直使用。功能不是很強大,但插件很多。
code::blocks
http://www.codeblocks.org/
最近發現的,和DEV-CPP差不多,但功能比前者全面。
OpenWatcom
http://www.openwatcom.org/index.php/Main_Page
老牌的編譯器,很多游戲都是它寫的。
以上這些軟體同樣可以編譯C++。
C學好後可以學C++,我學C用了可能兩年多時間。
JAVA語言:
應該說JAVA是最有前途的語言,我建議你學這個,又好找工作。
Java程序設計基礎
http://book.jqcq.com/proct/800381.html
本書主要針對初學Java的讀者,主要介紹了面向對象程序代碼的基本概念:創建圖形用戶介面所要事的可視化對象:基於事件的編程等內容。本書的主要目標是:在合理的編程規則下以一種能夠被初級程序員接受的方式介紹上述內容,以期提供給讀者工具、技術以及創建並保持程序的 ...
Java編程思想(原書第3版)
http://book.jqcq.com/proct/412312.html
從本書獲得的各項大獎以及來自世界各地的讀者評論中,不難看出這是一本經典之作。本書作者有多年的教學經驗,對C、C++、Java語言都有獨到、深入的理解。因此他非常了解如何教授Java語言這門課程,也非常明白語言教學中的難點及人們的困惑。作者以通俗易懂及小而直接?...
剛開始學,要選擇合適的工具,象NETBEANS,ECLIPSE這些東東都是專業級的,最好使用JCREATOR。這個軟體小巧到功能強大。
JCREATOR
http://www.jcreator.com/
其次就是網頁製作,這是每個程序員不得不做的事情。
如果你學的是VB。可以學ASP:
ASP程序設計
http://book.jqcq.com/proct/583309.html
本書對ASP動態網站編程作了系統的介紹,全書分成四大部分。第一部分為環境配置與ASP編程基礎,介紹ASP+sql Server平台的配置,以及HTML、CSS和VBScript語言的使用。第二部分為ASP資料庫程序設計,介紹了ASP操作Access和SQL Server資料庫的三大基本格式,以及如何讀?...
ASP.NET 2.0高級編程
http://book.jqcq.com/proct/585043.html
ASP.NET 2.0技術內幕》的姐妹篇,側重於延伸和拓寬ASP.NET 2.0的高級主題,進一步幫助讀者掌握並深入ASP .NET 2.0的精髓,為將來成功地構建復雜精巧的、功能性更強的Web應用程序奠定基矗全書共三部分:ASP.NET內部機理、特有特性和ASP.NET控制項。本書適合從事Web開發的程序員閱讀,旨在幫助他們提升ASP.NET開發技能。 ...
ASP.NET 2.0 高級編程(第4版) ASP.NET 2.0 高級編程(第4版)
http://book.jqcq.com/proct/585065.html
ASP.NET各種編程技能的同時重點介紹了ASP.NET 2 O版本中的巨大變化,詳細闡述了ASP NET 2.0中所包含的每個新特性。書中提供了大量的實例,.可幫助讀者快速掌握如何在N ET Framework下構建功能強大的ASP.NET應用程序。本書適用於有一些 ASP NET基礎知識的學習者以及;隹備遷移到ASP NET 2 0的編程老手。
Programming ASP.NET 中文版(第3版)
http://book.jqcq.com/proct/543179.html
ASP.NET;HTML編程基礎;比較ASP和ASP.NET;ASP.NET中的事件;比較HTML控制項和ASP控制項;基本的ASP控制項 API;代碼隱藏窗體;使用Visual Studio .NET集成開發環境;跟蹤,調試和錯誤處理;ASP.NET中的驗證控制項;數據綁定技術基礎;列表控制項和DataGrid控制項;ADO.NET指南;調用存儲過程;更新資料庫記錄;Repeater和DataList? ...
要建立網站,你就不得不搭建伺服器,IIS你肯定是用不上了,可以使用Apache的伺服器,它提供ASP的,JSP和PHP的伺服器
http://www.apache.org/
相對來說都很小,可你要選擇性的下載,安裝的時候看看相關的文章。
然後就是資料庫,
使用MYSQL吧,前期版本都很小。在網吧中主要就是練習。
http://www.mysql.com/
學C的話,可以學PHP。
PHP程序設計與實例分析教程
http://book.jqcq.com/proct/315091.html
本書為「全面突破網路編程技術叢書」之一。本書介紹的PHP語言是一種伺服器端解釋的腳本語言,它根據用戶請求或伺服器端的數據產生動態網頁。全書系統地介紹了PHP在多種平台環境中的設計方法,重點講解了其強大的內建訪問資料庫的能力,以及它如何能夠作為Apache Web服務 ...
PHP高級編程
http://book.jqcq.com/proct/310117.html
PHP的基本知識與高級特性,指導讀者從入門到精通掌握PHP技術。內容包括PHP的變數、函數、語句、表達式,PHP對文件的處理,PHP的模塊,如MySQL、XML、LDAP、GD,用PHP發送電子郵件,PHP的安全特性等。本書還介紹了五個範例應用程序,結合實際應用程序來講述編寫 PHP代碼的特點。本書的附錄還介紹了關於PHP的問題解答、技? ...
PHP與MySQL5程序設計(第2版)
http://book.jqcq.com/proct/431905.html
PHP腳本語言和MySQL資料庫這兩種目前最流行的開源軟體,主要內容包括PHP和MySQL基本概念、PHP擴展與應用庫、日期和時間功能、 PHP數據對象擴展、PHP的mysqli擴展、MySQL 5的存儲常式、觸發器和視圖等。本書實用性強,幫助讀者學習PHP編程語言和MySQL資料庫伺服器的最佳實踐,了解如何結合這些卓越的技術創建資料庫驅動的 ...
伺服器和上面一樣。
學JAVA,就學JSP。
JSP程序設計教程
http://book.jqcq.com/proct/430966.html
本書以JSP為開發工具,以java為開發語言,用通俗、簡明的語言由淺入深出地講解了JSP程序設計的開發方法,同時輔以大量的實例,書中所有實常式序代碼均在開發環境中調試通過。同時,每一章後面都附有相應的練習題幫助讀者對本章所學知識進一步理解和掌握。本書內容 ...
JSP程序設計
http://book.jqcq.com/proct/430739.html
JSP(JavaServer Pages)是目前熱門的跨平台動態Web應用開發技術。本書由經驗豐富的開發人員撰寫,是一本通俗易懂的JSP入門書籍。書中主要介紹JSP基礎知識、 JSP和表達式語言(EL)、JSP標記庫和JSTL、JSP指令、JSP和JavaBean、錯誤處理、JSP和servlet、訪問資料庫以 ...
現在在J2EE方面,已經流行框架了,就我自己使用來看,框架的確能大大的減少工作量。
實戰Struts
http://book.jqcq.com/proct/411616.html
Struts解決了許多Web應用程序開發中的常見問題。基於Struts應用程序框架構造的應用程序,除了可以復用業已證明可用的解決方案外,同時也可以使得開發人員更加關注應用程序的特性。Struts是由Apache軟體基金會支持的開源軟體。本書完整介紹了Struts框架結構,涵蓋了設計、數據校驗、資料庫訪問、動態頁面生成、本地化、Str ...
WebWork in Action中文版
http://book.jqcq.com/proct/543672.html
本書是一本從頭至尾都使用現實世界例子講述有關編寫Web應用程序的書籍。WebWork所強調的內容是:利用框架實現你的項目,而不是被框架所阻礙。在本書中,我們將從簡單的表單及表單處理開始,逐一講述編寫Web應用程序的基礎知識:action、interceptor和result,以及控制反轉(IoC)模式、對象圖導航語言(OGNL)和所有來自Web ...
JSF實戰
http://book.jqcq.com/proct/431957.html
JSF是Sun公司J2EE標准指定的Web應用框架,得到了眾多廠商的支持。本書是JSF方面的名著,共分五個部分。第一部分是JSF基礎知識;第二部分是構建UI;第三部分研究將原型轉化為實際應用所需的應用代碼;第四部分從組件開發的角度來研究JSF;第五部分基於第四部分所講述的知識給出了大量示例。本書作者是JSF界的權威,在書中提? ...
Spring in Action 中文版
http://book.jqcq.com/proct/431187.html
本書分為三大部分和兩個附錄,每一部分專注於Spring框架的一個領域:核心層、中間層和Web層。第一部分展示了Spring框架的兩個核心概念:反向控制(Inverstion of Control,IoC)和面向切面編程(Aspect-Oriented Programming,AOP),以便讀者理解Spring的基礎原理,這些基礎原理在本書各個章節都會用到。第二部分在第1章介 ...
Hibernate實戰(第2版·英文版)
http://book.jqcq.com/proct/432671.html
本書全面講述了Hibernate和Java Persistence,並對兩者進行了詳細的對比分析。書中通過一個應用將數百個例子融合起來,不僅深入剖析了Hibernate 3.2和Java Persistence 豐富的編程模型,還深刻闡述了資料庫設計、對象/關系映射(ORM)和優化等方面的基本原則、策略和最佳實踐。書中處處閃爍著作者超凡的真知灼見,將大大 ? ...
掌握AJAX也是很必要的。
基於J2EE的Ajax寶典(含光碟1張)
http://book.jqcq.com/proct/543936.html
本書主要介紹Ajax開發中的環境與框架特點,著重介紹了Ajax的難點和重點。對於開發Ajax的常用工具也進行了詳細講解。全書分3個部分,內容涵蓋 Ajax基本概念、Ajax和新技術和Ajax核心應用。書中通過Ajax與Struts及Ajax與Web Services的配合通過實際案例介紹Ajax的高級應用。本書適合Java程序員;企業級項目的開發人員參考使用 ...
Ajax與PHPWeb開發
http://book.jqcq.com/proct/432361.html
本書指導讀者使用Ajax、PHP及其他相關技術建立快速響應的網頁。本書不僅從Ajax的客戶端和伺服器端技術兩個方面指導讀者逐步掌握 Ajax基礎應用,還通過實例詳細演示了Ajax表單驗證、Ajax聊天室、Ajax Suggest、使用SVG實現的Ajax實時繪圖程序、Ajax Grid、Ajax RSS閱讀器和Ajax拖放等的實現過程。同時還介紹了在Windows和UNIX ...
征服ASP.NET 2.0 Ajax——Web開發技術詳解
http://book.jqcq.com/proct/432508.html
本書介紹了最新的ASP.NET Ajax技術。全書共分為8篇,包括Ajax的基本知識、CSS樣式表、JavaScript、XMLHTTP請求和DOM對象、Ajax組件、 ASP.NET Ajax類庫等內容。其中重點介紹的是ASP.NET 2.0 Ajax框架的各種使用方法,由淺入深地講解了Ajax在實際項目中的應用。其中涉及了上百個Ajax的典型應用,具有很高的參考價值。 ? ...
Ajax實戰
http://book.jqcq.com/proct/431150.html
伺服器和上一樣。
最後就是編程利器了,在JAVA方面,除了上面介紹的之外,還有
NETBEANS
http://www.netbeans.org/
eclipse
http://www.eclipse.org/
值得注意的是,ECLIPSE非常好用,集成了上述的很多框架,非常方便。
最後是學習的方向,寫什麼,我的寫法是游戲,我寫過很多的小游戲,這樣程序就越寫越好了。
最後是相關網站:
http://www.vcok.com
http://www.cstudyhome.com
Ⅱ 《細說PHP精要版》epub下載在線閱讀,求百度網盤雲資源
《細說PHP》(高洛峰)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:https://pan..com/s/1bauaUJgwN2GZbpjCtvb9ug
書名:細說PHP
作者:高洛峰
豆瓣評分:8.2
出版社:電子工業
出版年份:2013-6
頁數:388
內容簡介:
PHP是開發Web應用系統最理想的工具,擁有易於使用、功能強大、成本低廉、安全性高、開發速度快且執行靈活等優點。《細說PHP(第2版)》自出版以來,銷售一路在同類書籍中領先,已成為PHP學習者首選的工具書。為了可以讓讀者攜帶方便及更精準地掌握PHP的重點、要點,同時能使之作為大學計算機系PHP教材普及,特別推出《細說PHP精要版》。本書是以《細說PHP(第2版)》為基礎,提取出精華內容,都是PHP開發中必須需要掌握的技術點。全書以實用為目標設計,包含PHP開發中必備的各項技術,對已列出的每一個知識點都進行了深入詳細的講解,並附有大量的經典實例代碼,圖文並茂,並且側重介紹了PHP的相關技術在實際Web開發中的應用。
作者簡介:
高洛峰
LAMP兄弟連(北京易第優教育咨詢有限公司)教學總監,擁有8年軟體開發工作經驗,6年IT教學工作經驗。曾任多家上市企業技術總監、項目經理、高級軟體工程師等職務,具有扎實的技術功底。資深技術講師,從事IT培訓以來累計授課長達一萬課時以上,培訓數千名學員成功走向IT崗位,具有豐富的IT教學經驗。熟悉掌握UNIX/Linux/Windows等多種操作系統,一直從事PHP、Java、嵌入式、C/C++、Oracle資料庫等技術研發工作。其中,對Web系統軟體開發深有研究,近年來致力於推廣LAMP開源技術平台。
作者微博:http://weibo.com/gaoluofeng
LAMP兄弟連網址:www.lampbrother.net
Ⅲ PHP學習手冊的目 錄
第一篇 基礎篇
第1章 了解PHP 18
1.1 什麼是PHP 19
1.2 選擇PHP的理由 19
1.3 如何學好編程 22
1.4 准備PHP的開發條件 24
1.4.1 下載PHP及相關軟體 24
1.4.2 代碼編輯工具 24
1.4.3 下載PHP用戶手冊 26
1.5 本章小結 26
第2章 准備開發PHP的條件 27
2.1 AppServ—Windows版PHP集成化安裝包 28
2.1.1 用AppServ搭建PHP開發環境 28
2.1.2 測試AppServ是否安裝成功 30
2.2 XAMPP—Linux版PHP集成化安裝包 31
2.2.1 用XAMPP搭建PHP開發環境 32
2.2.2 在Linux操作系統下啟動、停止XAMPP 33
2.2.3 設置Linux版XAMPP中MySQL資料庫root用戶的密碼 33
2.2.4 在Linux操作系統下編寫第一個PHP程序 33
2.3 PHP開發環境的關鍵配置信息 34
2.3.1 Apache伺服器的基本配置 34
2.3.2 PHP.INI文件的基本配置 35
2.4 解決PHP的常見配置問題 36
2.4.1 解決Apache伺服器埠沖突 36
2.4.2 更改Apache伺服器
默認存儲的文件路徑 36
2.4.3 在PHP.INI文件中更改上傳文件的大小 37
2.4.4 增加PHP擴展模塊 37
2.4.5 檢測PHP是否支持MySQL資料庫 38
2.5 Dreamweaver開發工具 38
2.5.1 情景應用一——Dreamweaver中編碼格式的選擇 38
2.5.2 情景應用二——Dreamweaver創建表格 39
2.5.3 情景應用三——Dreamweaver創建表單 43
2.5.4 情景應用四——Dreamweaver創建站點 45
2.5.5 情景應用五——Dreamweaver創建第一個PHP程序 46
2.6 本章小結 47
第3章 了解Web頁面的設計 48
3.1 XHTML基礎 49
3.1.1 XHTML語言的語法 49
3.1.2 XHTML文件的結構 51
3.1.3 編輯文字版面 53
3.1.4 插入圖像與鏈接 55
3.1.5 編寫XHTML表格 57
3.1.6 設計XHTML表單 58
3.1.7 情景應用一——編寫用戶注冊信息頁 61
3.1.8 情景應用二:文件域上傳文件 62
3.2 CSS樣式應用 63
3.2.1 將CSS樣式嵌入到HTML中 63
3.2.2 CSS選擇符 65
3.2.3 常見的CSS樣式屬性 67
3.2.4 情景應用——打造經典的導航欄 72
3.3 設計頁面布局 74
3.3.1 <div>和<span>標記 74
3.3.2 區塊模型 74
3.3.3 區塊浮動 75
3.3.4 情景應用——設置一行兩列浮動布局 77
3.4 實戰練習 78
3.4.1 CSS+DIV設計網站首頁 78
3.4.2 DIV標簽設計論壇後台管理頁面 79
3.5 本章小結 81
第4章 PHP開發基礎 82
4.1 PHP的工作原理 83
4.2 學習運用代碼注釋 83
4.2.1 使用PHP注釋 84
4.2.2 使用HTML注釋 84
4.2.3 有效使用注釋 85
4.3 PHP的常量應用 85
4.3.1 聲明和使用常量 85
4.3.2 預定義常量 87
4.4 PHP的變數應用 88
4.4.1 理解變數 88
4.4.2 聲明變數 88
4.4.3 變數作用域 89
4.4.4 可變變數 91
4.5 PHP的數據類型 92
4.5.1 標量數據類型 92
4.5.2 復合數據類型 96
4.5.3 特殊數據類型 97
4.5.4 轉換數據類型 98
4.5.5 檢測數據類型 100
4.6 PHP的運算符 101
4.6.1 算術運算符 101
4.6.2 字元串運算符 102
4.6.3 賦值運算符 102
4.6.4 位運算符 103
4.6.5 遞增或遞減運算符 103
4.6.6 邏輯運算符 104
4.6.7 比較運算符 105
4.6.8 三元運算符 105
4.6.9 運算符的使用規則 106
4.7 PHP的自定義函數 107
4.7.1 定義和調用函數 108
4.7.2 在函數間傳遞參數 109
4.7.3 函數的返回值 110
4.8 實戰練習 111
4.8.1 網站中最新動態模塊的中文字元串截取 111
4.8.2 論壇發布內容模塊中對內容的格式化輸出 112
4.9 本章小結 113
第5章 PHP流程式控制制語句 115
5.1 程序三種控制結構 116
5.1.1 順序結構 116
5.1.2 選擇(分支)結構 116
5.1.3 循環結構 116
5.2 條件控制語句 117
5.2.1 if條件控制語句 117
5.2.2 switch多分支語句 119
5.2.3 情景應用一——if語句判斷美女徵婚條件 121
5.2.4 情景應用二——switch網頁框架 122
5.3 循環控制語句 123
5.3.1 while循環語句 124
5.3.2 do...while循環語句 124
5.3.3 for循環語句 125
5.3.4 foreach循環語句 127
5.3.5 情景應用一——while語句循環讀取資料庫中數據 128
5.3.6 情景應用二——for循環語句開發一個乘法口訣表 129
5.4 跳轉語句 130
5.4.1 break跳轉語句 130
5.4.2 continue跳轉語句 131
5.4.3 return跳轉語句 132
5.5 包含語句 133
5.5.1 include()語句 133
5.5.2 require()語句 134
5.5.3 include_once()語句 135
5.5.4 require_once()語句 135
5.5.5 include()語句和require()語句的區別 136
5.5.6 include_once()語句和require_once()語句的區別 138
5.6 實戰練習 138
5.6.1 刪除資料庫中指定的數據表 138
5.6.2 for循環語句實現多圖片上傳 139
5.7 本章小結 140
第6章 字元串操作 141
6.1 初識字元串 142
6.2 轉義、還原字元串 142
6.3 截取字元串 143
6.4 分割、合成字元串 145
6.5 替換字元串 146
6.5.1 str_ireplace()函數 146
6.5.2 substr_replace()函數 148
6.6 檢索字元串 148
6.6.1 strstr()函數 148
6.6.2 substr_count()函數 149
6.7 去掉字元串首尾空格和特殊字元 150
6.7.1 ltrim()函數 150
6.7.2 rtrim()函數 151
6.7.3 trim()函數 152
6.8 字元串與HTML轉換 152
6.9 情景應用 154
6.9.1 超長文本的分頁輸出 154
6.9.2 查詢關鍵字描紅 155
6.9.3 購物車中數據的讀取 156
6.10 實戰練習 157
6.10.1 PHP 5新型字元串輸出XML數據信息 157
6.10.2 圖像驗證碼的相關操作 158
6.11 本章小結 159
第7章 正則表達式 160
7.1 什麼是正則表達式 161
7.2 正則表達式的語法規則 162
7.2.1 行定位符(^和$) 162
7.2.2 單詞定界符(、B) 162
7.2.3 字元類([ ]) 163
7.2.4 選擇字元(|) 163
7.2.5 連字元(-) 163
7.2.6 排除字元([^]) 164
7.2.7 限定符(? * + {n,m}) 164
7.2.8 點號字元(.) 164
7.2.9 轉義字元() 165
7.2.10 反斜線() 165
7.2.11 括弧字元(()) 166
7.2.12 情景應用一——整合實用的正則表達式 166
7.2.13 情景應用二——調用正則表達式驗證中文 168
7.3 PCRE兼容正則表達式函數 169
7.3.1 字元串的匹配與查找 169
7.3.2 情景應用一——應用正則表達式匹配電話號碼格式 170
7.3.3 字元串的替換 172
7.3.4 情景應用二——應用正則表達式實現UBB使用幫助 173
7.3.5 字元串的分割 173
7.4 實戰練習 174
7.4.1 正則表達式驗證用戶
7.4.1 注冊信息的合理性 174
7.4.2 正則表達式驗證提交的
7.4.1 購買數量是否是正整數 176
7.5 本章小結 177
第8章 初探數組 178
8.1 數組概述 179
8.2 數組類型 179
8.3 聲明數組 180
8.3.1 用戶創建數組 180
8.3.2 函數創建數組 181
8.3.3 創建二維數組 181
8.4 遍歷、輸出數組 182
8.4.1 遍歷數組 183
8.4.2 輸出數組元素 184
8.5 PHP的數組函數 185
8.5.1 統計數組元素個數 185
8.5.2 向數組中添加元素 185
8.5.3 獲取數組中最後一個元素 186
8.5.4 刪除數組中重復元素 186
8.5.5 獲取數組中指定元素的鍵名 186
8.5.6 字元串與數組的轉換 187
8.5.7 情景應用——讀取網上調查中的數據 188
8.6 PHP的全局數組 189
8.6.1 $_SERVER[ ]全局數組 189
8.6.2 $_GET[ ]和$_POST[ ]全局數組 190
8.6.3 $_COOKIE全局數組 190
8.6.4 $_ENV[ ]全局數組 191
8.6.5 $_REQUEST[ ]全局數組 191
8.6.6 $_SESSION[ ]全局數組 191
8.6.7 $_FILES[ ]全局數組 191
8.6.8 情景應用——$_FILES[ ]全局數組在文件上傳中的應用 191
8.7 實戰練習 193
8.7.1 生成在線考試題 193
8.7.2 通過獲取客戶端IP地址限制投票次數 193
8.8 本章小結 195
第9章 日期與時間 196
9.1 PHP的時間觀念 197
9.1.1 在PHP.INI文件中設置時區 197
9.1.2 通過date_default_timezone_set函數設置時區 197
9.2 UNIX時間戳 198
9.2.1 獲取任意日期、時間的時間戳 198
9.2.2 獲取當前時間戳 199
9.2.3 日期、時間轉換為UNIX時間戳 199
9.3 日期和時間處理 201
9.3.1 格式化日期和時間 201
9.3.2 獲取日期和時間信息 202
9.3.3 檢驗日期和時間的有效性 203
9.4 情景應用 204
9.4.1 獲取系統當前時間和時間戳 204
9.4.2 比較兩個時間的大小 204
9.4.3 倒計時 205
9.5 實戰練習 205
9.5.1 計算程序的運行時間 205
9.5.2 網頁鬧鍾 206
9.6 本章小結 207
第二篇 核心篇
第10章 文件和目錄處理技術 210
10.1 基本的文件處理技術 211
10.1.1 打開一個文件 211
10.1.2 讀取文件內容 214
10.1.3 向文件中寫入數據 218
10.1.4 關閉文件指針 220
10.2 目錄操作技術 220
10.2.1 打開指定目錄 220
10.2.2 讀取目錄結構 221
10.2.3 關閉目錄指針 222
10.3 文件的上傳技術 223
10.3.1 開啟文件上傳功能 223
10.3.2 全局變數$_FILES應用 224
10.3.3 將上傳文件移動到指定目錄 225
10.3.4 文件下載技術 226
10.4 情景應用 227
10.4.1 通過文本文件統計網站訪問量 227
10.4.2 規范化的文件上傳 229
10.5 實戰練習 231
10.5.1 從文本文件中讀取注冊服務條款 231
10.5.2 規范化的多文件上傳 232
10.6 本章小結 233
第11章 圖形圖像處理技術 234
11.1 了解GD2函數庫 235
11.2 設置GD2函數庫 235
11.3 學習常用的圖像處理技術 235
11.3.1 創建畫布 236
11.3.2 顏色處理 237
11.3.3 繪制文字 237
11.3.4 輸出圖像 239
11.3.5 銷毀圖像 240
11.3.6 情景應用一——在照片上書寫文字 240
11.3.7 情景應用二——GD2函數生成圖像驗證碼 241
11.4 運用Jpgraph類庫繪制圖像 242
11.4.1 Jpgraph類庫簡介 242
11.4.2 Jpgraph的安裝 242
11.4.3 情景應用一——柱狀圖展示2010年第一季度編程詞典銷量 243
11.4.4 情景應用二——折線圖分析2010年公司銷售額 245
11.4.5 情景應用三——多餅形圖分析2010年圖書銷量 246
11.5 實戰練習 248
11.5.1 GD2函數生成帶有干擾線的圖像驗證碼 248
11.5.2 Jpgraph創建折線圖分析圖書銷售走勢 249
11.5.3 Jpgraph創建3D餅形圖展示部門業績比較 250
11.6 本章小結 251
第12章 Cookie和會話控制 252
12.1 會話的操作 253
12.1.1 創建會話 253
12.1.2 配置PHP的會話 255
12.2 會話的高級應用 259
12.2.1 SESSION臨時文件 259
12.2.2 SESSION緩存 259
12.2.3 SESSION資料庫存儲 261
12.3 Cookie的操作 263
12.3.1 設置Cookie 264
12.3.2 訪問Cookie 265
12.3.3 刪除Cookie 266
12.4 情景應用 267
12.4.1 登錄驗證 267
12.4.2 Cookie自動登錄 269
12.5 實戰練習 270
12.5.1 防止頁面刷新 270
12.5.2 控制客戶端Cookie 271
12.6 本章小結 272
第13章 面向對象 273
13.1 一切皆是對象 274
13.1.1 什麼是類 274
13.1.2 對象的由來 274
13.1.3 面向對象的特點 275
13.2 類的聲明 275
13.2.1 類的定義 275
13.2.2 成員屬性 276
13.2.3 成員方法 277
13.3 類的實例化 277
13.3.1 創建對象 278
13.3.2 訪問類中成員 278
13.3.3 特殊的訪問方法——「$this」和「::」 279
13.3.4 構造方法和析構方法 280
13.4 面向對象的封裝特性 281
13.4.1 public(公共成員) 282
13.4.2 private(私有成員) 282
13.4.3 protected(保護成員) 283
13.5 面向對象的繼承特性 283
13.5.1 類的繼承——extends關鍵字 283
13.5.2 類的繼承——parent::關鍵字 284
13.5.3 覆蓋父類方法 285
13.6 抽象類和介面 286
13.6.1 抽象類 286
13.6.2 介面 287
13.7 面向對象的多態性 289
13.7.1 通過繼承實現多態 289
13.7.2 通過介面實現多態 290
13.8 面向對象的關鍵字 290
13.8.1 final關鍵字 291
13.8.2 static關鍵字——聲明靜態類成員 291
13.8.3 clone關鍵字——克隆對象 292
13.8.4 對象比較 293
13.8.5 instanceof關鍵字——對象類型檢測 293
13.9 面向對象的魔術方法 293
13.9.1 _set()和_get()方法 294
13.9.2 _isset()和_unset()方法 294
13.9.3 _call()方法 294
12.9.4 _toString()方法 295
13.9.5 _autoload()方法 295
13.9.6 情景應用一——封裝一個資料庫連接類 296
13.9.7 情景應用二——封裝一個資料庫操作類 297
13.10 實戰練習 298
13.10.1 分頁類 299
13.10.2 萬用表格 300
13.11 本章小結 301
第14章 MySQL資料庫設計 302
14.1 MySQL概述 303
14.1.1 MySQL的特點 303
14.1.2 SQL和MySQL 303
14.2 MySQL伺服器的啟動和關閉 304
14.2.1 啟動MySQL伺服器 304
14.2.2 連接MySQL伺服器 305
14.2.3 關閉MySQL伺服器 305
14.3 操作MySQL資料庫 306
14.3.1 創建新資料庫 306
14.3.2 選擇指定資料庫 306
14.3.3 刪除指定資料庫 306
14.4 操作MySQL數據表 307
14.4.1 創建一個表 307
14.4.2 查看數據表結構 308
14.4.3 修改數據表結構 309
14.4.4 重命名數據表 310
14.4.5 刪除指定數據表 310
14.5 操作MySQL數據 311
14.5.1 向數據表中添加數據(INSERT) 311
14.5.2 更新數據表中數據(UPDATE) 312
14.5.3 刪除數據表中數據(DELETE) 312
14.5.4 查詢數據表中數據 313
14.5.5 情景應用一——數據排序 316
14.5.6 情景應用二——limit控制輸出數據的開始位置和記錄數 316
14.6 MySQL數據類型 316
14.6.1 數字類型 317
14.6.2 字元串類型 317
14.6.3 日期和時間數據類型 319
14.7 用phpMyAdmin管理MySQL資料庫 319
14.7.1 管理資料庫 319
14.7.2 管理數據表 320
14.7.3 管理數據記錄 322
14.7.4 導入/導出數據 324
14.8 實戰練習 325
14.8.1 批量添加記錄(LOAD DATA和MYSQLIMPORT) 325
14.8.2 在phpMyAdmin中重置MySQL伺服器登錄密碼 326
14.9 本章小結 326
第15章 資料庫編程技術 327
15.1 PHP操作MySQL資料庫的步驟 328
15.2 PHP操作MySQL資料庫的方法 329
15.2.1 mysql_connect()函數連接MySQL伺服器 329
15.2.2 mysql_select_db()函數選擇MySQL資料庫 330
15.2.3 mysql_query()函數執行SQL語句 330
15.2.4 mysql_fetch_array()函數將結果集返回到數組中 331
15.2.5 mysql_fetch_row()函數從結果集中獲取一行作為枚舉數組 333
15.2.6 mysql_num_rows()函數獲取查詢結果集中的記錄數 333
15.3 管理MySQL資料庫中的數據 334
15.3.1 向資料庫中添加數據 334
15.3.2 編輯資料庫數據 335
15.3.3 從資料庫中刪除數據 336
15.3.4 批量數據操作 336
15.4 情景應用 337
15.4.1 通用查詢 337
15.4.2 分組統計 338
15.4.3 對查詢結果分頁顯示 339
15.4.4 站內搜索 340
15.5 實戰練習 341
15.5.1 對查詢結果進行跳轉分頁顯示 341
15.5.2 高級查詢 341
15.6 本章小結 342
第三篇 高級篇
第16章 PDO資料庫抽象層 346
16.1 什麼是PDO 347
16.1.1 PDO概述 347
16.1.2 PDO特點 347
16.1.3 安裝PDO 347
16.2 PDO連接資料庫 348
16.2.1 PDO構造函數 348
16.2.2 情景應用一——連接MySQL資料庫 348
16.2.3 情景應用二——連接MS SQL Server資料庫 349
16.2.4 情景應用三——連接Oracle資料庫 350
16.3 PDO中執行SQL語句 350
16.3.1 exec()方法 351
16.3.2 query()方法 351
16.3.3 預處理語句——prepare()和execute() 352
16.3.4 情景應用一——通過PDO向資料庫中添加數據 353
16.3.5 情景應用二——通過PDO更新資料庫中數據 354
16.4 PDO中獲取結果集 355
16.4.1 fetch()方法 355
16.4.2 fetchAll()方法 357
16.4.3 fetchColumn()方法 358
16.5 PDO中捕獲SQL語句中的錯誤 359
16.5.1 使用默認模式——PDO::ERRMODE_SILENT 359
16.5.2 使用警告模式——PDO::ERRMODE_WARNING 360
16.5.3 使用異常模式——PDO::ERRMODE_EXCEPTION 361
16.6 PDO中錯誤處理 362
16.6.1 errorCode()方法 362
16.6.2 errorInfo()方法 363
16.7 PDO中事務處理 364
16.8 PDO中存儲過程 366
16.9 實戰練習 367
16.9.1 PDO讀取MS SQL Server資料庫中數據 367
16.9.2 PDO讀取Oracle資料庫中數據 368
16.10 本章小結 369
第17章 ADODB資料庫抽象層 370
17.1 ADODB概述 371
17.1.1 ADODB的優點與缺點 371
17.1.2 ADODB的安裝與操作流程 371
17.2 連接資料庫系統和資料庫 372
17.2.1 連接資料庫系統——ADONewConnection()函數 372
17.2.2 資料庫持久化連接——PConnect()函數 372
17.2.3 資料庫非持久化連接——Connect()函數 372
17.2.4 情景應用一——ADODB連接MySQL資料庫 373
17.2.5 情景應用二——ADODB連接Access資料庫 374
17.2.6 情景應用三——ADODB連接MS SQL Server資料庫 374
17.2.7 情景應用四——ADODB連接Oracle資料庫 375
17.3 通過公共變數控制數據的存取方式 376
17.4 ADODB執行SQL語句 377
17.4.1 執行SQL語句——execute()函數 377
17.4.2 控制SELECT查詢語句的起始位置——SelectLimit()函數 378
17.4.3 添加、更新數據——GetInsertSQL()、GetUpdateSQL()函數 379
17.4.4 操作SQL語句的其他方法 380
17.5 ADODB控制結果集 380
17.5.1 控制指針的方法 381
17.5.2 控制結果集內容的方法 382
17.5.3 日期格式和數據類型的轉換 383
17.6 ADODB中的分頁 384
17.6.1 ADODB分頁函數 384
17.6.2 一個小巧的分頁函數——ADODB_Pager()函數 385
17.7 ADODB中的錯誤處理 386
17.7.1 ADODB中的錯誤處理函數 386
17.7.2 ADODB中自定義的錯誤處理機制 387
17.7.3 情景應用——通過日誌文件存儲錯誤信息 388
17.8 ADODB中的事務處理 389
17.9 實戰練習 390
17.9.1 封裝ADODB連接資料庫類 390
17.9.2 封裝ADODB操作資料庫類 391
17.9.3 封裝ADODB分頁類 392
17.9.4 通過事務處理機制保證數據轉換的順利完成 393
17.10 本章小結 395
第18章 PHP的字元編碼 396
18.1 了解網頁字元編碼 397
18.1.1 ASCII 字元集 397
18.1.2 ISO 8859 字元集 397
18.1.3 GB2312與GBK編碼 398
18.1.4 Unicode字元集 398
18.1.5 UTF-8編碼 398
18.2 PHP網頁的字元編碼 399
18.2.1 設置編碼格式 399
18.2.2 轉換編碼格式 400
18.2.3 檢測字元串的編碼 402
18.3 PHP開發中的亂碼問題 403
18.3.1 解決頁面中的亂碼問題 403
18.3.2 資料庫中的字元集編碼問題 405
18.3.3 避免截取中文字元串時出現亂碼 406
18.4 PHP區域化設置 407
18.4.1 PHP網頁的區域化 407
18.4.2 使用setlocale()函數設置區域化 408
18.5 實戰練習 409
18.5.1 避免截取超長文本時出現亂碼 409
18.5.2 了解PHP編碼規則 410
18.5.3 了解PHP編碼風格 410
18.6 本章小結 412
第19章 程序調試與錯誤處理 413
19.1 基本調試策略 414
19.2 常見錯誤分析 414
19.2.1 語法錯誤 414
19.2.2 定義錯誤 417
19.2.3 邏輯錯誤 418
19.2.4 運行錯誤 419
19.2.5 環境錯誤 421
19.3 PHP.INI中的錯誤處理機制 422
19.3.1 控制錯誤顯示及顯示方式 423
19.3.2 控制錯誤的級別 423
19.4 程序調試方法 424
19.4.1 應用DIE語句調試 424
19.4.2 應用mysql_error()語句輸出錯誤信息 425
19.4.3 應用try{}catch{}M語句拋出並捕獲異常 425
19.5 錯誤處理技巧 427
19.5.1 隱藏錯誤 427
19.5.2 自定義錯誤頁面 427
19.5.3 延長伺服器執行時間——處理超時錯誤 428
19.6 情景應用 429
19.6.1 如何分析、解決PHP與MySQL連接錯誤 429
19.6.2 解決資料庫亂碼問題 431
19.7 實戰練習 432
19.7.1 封裝屬於自己的異常處理類 432
19.7.2 使用錯誤處理器記錄日誌 433
19.8 本章小結 434
第20章 Smarty模板技術 435
20.1 走進Smarty模板引擎 436
20.1.1 Smarty模板引擎下載 437
20.1.2 Smarty模板引擎安裝 437
20.1.3 Smarty模板引擎配置 437
20.1.4 情景應用一——走進Smarty模板引擎 439
20.1.5 情景應用二——封裝Smarty模板的配置方法 440
20.2 Smarty模板設計——靜態頁處理 442
20.2.1 基本語法(注釋、函數和屬性) 442
20.2.2 Smarty模板設計變數 443
20.2.3 變數調節器 444
20.2.4 情景應用一——Smarty模板中日期、時間的格式化輸出 445
20.2.5 情景應用二——通過組合修改器分隔多個變數調節器 445
20.2.6 內建函數(動態文件、模板文件的包含和流程式控制制語句) 446
20.2.7 情景應用三——Smarty模板創建網頁框架 448
20.2.8 情景應用四——section語句循環輸出資料庫中的數據 450
20.2.9 自定義函數 451
20.2.10 配置文件 454
20.3 Smarty程序設計——動態文件操作 455
20.3.1 SMARTY_PATH常量 455
20.3.2 Smarty程序設計變數 455
20.3.3 Smarty方法 456
20.3.4 Smarty緩存 456
20.3.5 情景應用——開啟網站注冊頁面的緩存 458
20.4 實戰練習 460
20.4.1 Smarty+ADODB完成數據的分頁輸出 460
20.4.2 Smarty中通過truncate方法截取字元串 461
20.4.3 用Register_Function方法注冊模板函數 462
20.4.4 Smarty模板中的關鍵字描紅 464
20.5 本章小結 464
第四篇 實戰篇
第21章 企業網站開發模板 466
21.1 明日企業網概述 467
21.2 開發背景 467
21.3 需求分析 467
21.4 功能結構 468
21.5 資料庫設計 469
21.5.1 資料庫概念設計 469
21.5.2 創建資料庫及數據表 470
21.6 技術攻關 471
21.6.1 Smarty模板 471
21.6.2 最簡單的網頁框架 473
21.6.3 ADODB類庫 473
21.6.4 封裝分頁類 474
21.7 首頁設計 475
21.7.1 首頁概述 475
21.7.2 首頁技術分析 476
21.7.3 首頁的實現過程 476
21.8 產品展示設計 478
21.8.1 產品展示概述 478
21.8.2 產品展示技術分析 478
21.8.3 產品展示實現過程 479
21.9 後台管理系統設計 480
21.9.1 後台管理系統概述 481
21.9.2 後台管理系統技術分析 481
21.9.3 後台管理系統實現過程 482
21.10 程序調試與錯誤處理 486
21.10.1 SQL語句的返回機制 486
21.10.2 錯誤處理 487
21.11 開發總結 488
附錄 專業術語表 489