《PHP MySQL全能權威指南》是2012年出版的圖書,作者是張亞飛、高紅霞。 《PHP+MySQL全能權威指南》用於初入門的動態網站開發者完整、系統地掌握PHP+MySQL開發知識。
基本介紹
- 書名:PHP MySQL全能權威指南
- 作者:張亞飛、高紅霞
- ISBN:9787302294511
- 定價:79.8元
- 出版社:清華大學出版社
- 出版時間:2012-8-31
- 裝幀:平裝
圖書簡介,目錄,
圖書簡介
《PHP+MySQL全能權威指南》以業界恆久不變的三層架構為指引(已被印證是最正確之坦途),包含了PHP5和PHP6開發,側重於實戰,提供了大量範例,以範例帶動知識的介紹,以實踐輔助理論,提供一個真正快速、全能的權威指南,包括基礎語法、實用技巧、注意事項、最佳化體驗和實戰案例等。
《PHP+MySQL全能權威指南》緊跟時代發展,支持AjaxforPHP互動操作,全面兼容Web2.0。
《PHP+MySQL全能權威指南》包含了HTML5與PHP結合的最新進展,這是獨一無二的,使用戶能夠完全適應新技術的要求。
《PHP+MySQL全能權威指南》還修正了當前普遍存在的錯誤認識,有利於初入門用戶的學習。另外,本書附帶有多媒體教學光碟1張。
不管你是有經驗的開發者還是初入門的開發者,都應該閱讀本書,以掌握PHP+MySQL的最最佳化知識。
《PHP+MySQL全能權威指南》緊跟時代發展,支持AjaxforPHP互動操作,全面兼容Web2.0。
《PHP+MySQL全能權威指南》包含了HTML5與PHP結合的最新進展,這是獨一無二的,使用戶能夠完全適應新技術的要求。
《PHP+MySQL全能權威指南》還修正了當前普遍存在的錯誤認識,有利於初入門用戶的學習。另外,本書附帶有多媒體教學光碟1張。
不管你是有經驗的開發者還是初入門的開發者,都應該閱讀本書,以掌握PHP+MySQL的最最佳化知識。
目錄
第1篇PHP動態網站和PHP程式語言基礎入門篇
第1章準備基礎知識、開發環境及配置
運行環境 2
視頻講解:47分鐘
1.1正確認識PHP動態網站開發 3
1.1.1正確認識PHP的開發工具 3
1.1.2正確認識PHP的運行環境 3
1.1.3關於標準和實現 3
1.2安裝和配置PHP動態網站的
運行環境 4
1.2.1下載和安裝PHP應用程式
伺服器 4
1.2.2了解PHP的版本 5
1.2.3在Apache下配置PHP 6
1.2.4在IIS7.0下配置PHP 9
第2章怎樣創建和執行PHP動態網
頁——基本操作和基本原理 11
視頻講解:26分鐘
2.1創建第一個PHP網頁 12
2.1.1用什麼來創建PHP網頁 12
2.1.2在哪裡放置PHP網頁 12
2.1.3通過伺服器請求PHP網頁 12
2.2PHP網路應用程式的工作原理 13
2.2.1Web應用程式的基本工作
原理 13
2.2.2PHP網路應用程式的基本
工作原理 14
2.3怎樣在PHP網頁中編寫PHP
程式代碼 15
2.3.1定義PHP執行塊 16
2.3.2PHP輸出指令 17
2.3.3什麼是script語言 17
2.3.4PHP代碼與HTML代碼
混合 18
第3章程式開發的基石——聲明變數和
使用變數 19
視頻講解:53分鐘
3.1變數的聲明 20
3.1.1聲明和命名變數 20
3.1.2變數的命名規範 21
3.1.3變數的數據類型 21
3.1.4易犯的錯誤 24
3.2在程式中使用變數 26
3.2.1為變數賦值和更改變數值 26
3.2.2使用變數和獲取變數值 27
3.2.3變數的初始化 28
3.3常量 28
3.3.1PHP內建常量 29
3.3.2自定義常量 30
3.4變數的傳值和傳址 31
3.4.1傳值變數——按值傳遞 31
3.4.2傳址變數——按引用傳遞 31
3.4.3變數的引用 32
3.5記憶體使用規則——堆和棧 33
3.5.1棧的使用規則 33
3.5.2堆的使用規則 34
3.6數據類型轉換 35
3.6.1強制數據類型轉換 35
3.6.2隱式數據類型轉換 35
3.7可變變數 36
第4章PHP語法規範和良好的
編程習慣 37
視頻講解:60分鐘
4.1空白和多行書寫 38
4.1.1空白 38
4.1.2多行書寫 38
4.3捲曲花括弧 39
4.3.1引號中包含變數 39
4.3.2用捲曲花括弧界定變數名 39
4.4分號 40
4.5圓括弧 40
4.6字母的大小寫 41
4.7程式注釋 41
4.7.1單行注釋和尾隨注釋 41
4.7.2多行注釋 41
4.7.3文檔注釋 42
4.7.4使用HTML注釋 42
4.8關鍵字 43
4.9培養良好的編程習慣 43
4.9.1通用的變數名、方法名、類名
命名約定 43
4.9.2重構 45
4.9.3使用注釋 45
4.9.4養成控制記憶體的好習慣 46
4.9.5最佳化代碼的一般常識 47
第5章數據運算和運算規則 49
視頻講解:37分鐘
5.1PHP表達式 50
5.1.1簡單表達式和複合表達式 50
5.1.2賦值表達式和單值表達式 50
5.2算術運算符 50
5.3字元串運算符 52
5.4賦值運算符 53
5.5比較運算符和邏輯運算符 54
5.5.1考慮數據類型 55
5.5.2全等運算符 56
5.5.3易犯錯的比較運算 57
5.6位運算符 57
5.7其他運算符 58
5.7.1三元條件運算符 58
5.7.2instanceof運算符 59
5.8運算符的使用規則 59
5.8.1運算符優先權規則 59
5.8.2運算符結合規則 59
第6章流程控制 61
視頻講解:33分鐘
6.1語句和語句塊 62
6.2if...else條件語句 62
6.3switch條件語句 66
6.4do...while循環 68
6.4.1第一種模式 68
6.4.2第二種模式 68
6.5for循環 69
6.6foreach循環 70
6.7其他的流程控制 70
6.7.1break語句 71
6.7.2continue語句 71
6.7.3declare語句 72
6.7.4try...catch...throw語句 72
6.7.5goto語句 73
6.8流程控制總結 74
第2篇PHP數據處理和函式套用篇
第7章變數處理 77
視頻講解:70分鐘
7.1呈現變數的結構 78
7.2強制數據類型轉換 79
7.2.1轉換為整型 79
7.2.2轉換為邏輯值 80
7.2.3轉換為浮點數 80
7.2.4字元串轉換 80
7.2.5轉換為數組 80
7.2.6轉換為對象 81
7.2.7字元串轉換為數值 81
7.2.8使用settype()函式轉換數據
類型 81
7.2.9使用其他函式轉換數據類型 81
7.3變數的數據類型判斷 82
7.4判斷變數是否為空 83
7.5isset()語言結構和unset()語言
結構 84
第8章數組、多維數組、複合數組
(哈希、映射) 85
視頻講解:90分鐘
8.1創建數組 86
8.1.1創建數組的基本方法 86
8.1.2索引數組 86
8.1.3多維數組 88
8.1.4複合數組 89
8.1.5刪除數組或數組元素 91
8.2使用運算符進行數組運算 91
8.3數組操作函式 92
8.3.1常用的基本操作 94
8.3.2獲取數組的元素數量 95
8.3.3分別獲取數組的鍵和值 95
8.3.4遍歷數組 96
8.3.5數組的排序 98
第9章在PHP中使用正則表達式 102
視頻講解:45分鐘
9.1字元串處理函式 103
9.1.1加密算法 106
9.1.2使用數組語法處理字元串 107
9.2使用正則表達式處理字元串 107
9.2.1正則表達式基本語法 108
9.2.2優先權順序 112
9.3使用函式處理正則表達式 113
9.3.1Perl兼容正則表達式函式 113
9.3.2了解PCRE模式修正符 120
9.3.3使用正則表達式判斷字元串
是否是全中文 121
9.4POSIX擴展正則表達式函式 121
思考與練習 122
第10章處理日期和時間 123
視頻講解:47分鐘
10.1使用DateTime類處理日期和
時間 124
10.1.1日期和時間操作中常用到的
概念 124
10.1.2配置選項 125
10.1.3DateTime類的構造方法 125
10.1.4格式化日期和時間 126
10.1.5修改日期和時間 128
10.2使用DateTimeZone類處理
時區 129
10.3使用DateInterval類處理時間
間隔 130
10.3.1createFromDateString()方法 131
10.3.2format()方法 131
10.3.3使用日期時間間隔改變
DateTime 132
10.4使用DatePeriod類創建
時期段 133
10.5用於處理日期和時間的相關
函式 135
第11章數學運算和其他常用全局
函式 137
視頻講解:20分鐘
11.1數學運算函式 138
11.2其他常用函式 140
11.2.1中止執行當前網頁代碼——
exit()函式和die()函式 140
11.2.2延遲執行——sleep()函式、
usleep()函式、time_nanosleep()
函式、time_sleep_until()
函式 141
11.2.3生成唯一的ID——uniqid()
函式 142
11.2.4二進制轉換——pack()函式、
unpack()函式 143
第12章自定義函式及函式對變數的
影響 145
視頻講解:71分鐘
12.1函式的定義 146
12.2函式的調用 146
12.2.1在函式中定義參數的
初始值 147
12.2.2條件函式和嵌套函式 147
12.2.3可變長度參數和函式處理
函式 148
12.2.4形參和實參 148
12.2.5匿名函式的定義 149
12.3變數的作用範圍和生命周期 150
12.3.1script級變數和局部變數 150
12.3.2全局變數 150
12.3.3靜態變數 151
12.4在函式中使用引用 152
12.4.1在函式中傳遞引用 152
12.4.2函式返回引用 153
12.5函式定義的位置和共享——動態
包含 154
12.5.1配置動態包含的目錄 155
12.5.2被包含檔案的位置和許可權 155
12.5.3其他實現動態包含的語言
結構 155
12.5.4被包含檔案的返回值 156
第3篇與Web頁面、Ajax互動應用程式篇
第13章人機互動的基石——動態網頁的
請求和回響 158
13.1了解請求和回響的基本過程 159
13.1.1請求和回響的基本過程 159
13.1.2了解URI、URL和URN 160
13.2HTTP協定基礎 161
13.2.1了解HTTP訊息的內容 161
13.2.2了解HTTP請求的內容 162
13.2.3了解HTTP回響的內容 163
13.2.4了解HTTP訊息報頭的
內容 165
13.3在PHP程式中獲取和處理請求
報頭 166
13.4對請求作出回響 169
13.4.1返回訊息正文給客戶端 170
13.4.2返迴響應狀態行和回響報頭
給客戶端 170
13.4.3快取對訊息報頭的影響 171
13.4.4重定向 173
13.4.5設定回響內容的格式和
類型 174
13.4.6遍歷回響報頭 174
13.5使用網頁快取最佳化網路程式 175
13.5.1伺服器端網頁快取的處理 175
13.5.2最佳實踐——快取伺服器端
複雜運算 177
13.5.3客戶端網頁快取的處理 178
思考與練習 180
第14章使用HTML表單開發PHP互動式
應用程式 181
14.1創建表單 182
14.1.1HTML表單基本知識 182
14.1.2使用樣式表控制表單的
呈現 185
14.1.3創建訪客留言表單 186
14.2接收表單數據 188
14.2.1了解POST和GET方法 188
14.2.2接收表單提交的數據——POST
和GET方法 189
14.2.3易犯的錯誤——處理單名
多值表單 191
14.2.4遍歷表單變數 192
14.2.5處理結果不良好的控制項 192
14.2.6其他處理表單的方法 193
14.2.7關於圖形提交按鈕 194
14.3使用PHP實現檔案上傳 194
14.4關於register_globals配置 197
思考與練習 198
第15章人機互動的狀態維護——
Session、Cookie和狀態
管理 199
15.1理解Session和Cookie 200
15.1.1什麼是Cookie 200
15.1.2什麼是Session 201
15.1.3了解Cookie的格式和內容 201
15.1.4Session和Cookie的使用
環境 203
15.2使用Cookie完成狀態管理 203
15.2.1怎樣傳送和使用Cookie 204
15.2.2創建Cookie 205
15.2.3訪問Cookie 205
15.2.4設定Cookie路徑 206
15.2.5易犯的錯誤——檢查瀏覽器
是否接受Cookie 206
15.3使用Session完成狀態管理 208
15.3.1激活PHP網頁中的Session
支持 208
15.3.2怎樣傳送和使用Session 209
15.3.3創建和管理Session 212
15.3.4啟動和結束Session 214
15.3.5Session的相關配置 215
15.3.6管理Session的相關函式 218
15.3.7使用URL參數傳遞
SessionID 222
15.4其他維護狀態的方法 222
15.5易犯的錯誤 223
思考與練習 223
第16章JavaScript、Ajax、jQuery和
PHP之間的互動 224
16.1一個標準的Ajax套用所應
具備的步驟 225
16.1.1編寫PHP程式處理Ajax
請求和作出回響 226
16.1.2編碼混亂問題的解決 227
16.1.3使用代理實現跨域請求 227
16.2使用JSON編碼 228
16.2.1對JSON格式的字元串進行
解碼 229
16.2.2對變數進行JSON編碼 229
16.2.3處理解析錯誤 230
16.2.4客戶端數據處理 230
16.3開發jQueryforPHP程式 231
第17章使用HTML5伺服器推送技術和
WebSocket實現互動操作 233
17.1伺服器推送技術 234
17.1.1使用Server-SentEvent入門 234
17.1.2伺服器要求 235
17.1.3使用EventSource對象 236
17.2WebSocket套接字連線 237
17.2.1使用WebSocket入門 237
17.2.2關於WebSocket通信協定 239
第4篇PHP面向對象開發、模式和套用篇
第18章面向對象編程(OOP)——創建
類和使用類 242
18.1澄清——必須首先建立正確的
面向對象編程思想 243
18.1.1對象的抽象 243
18.1.2對象的使用 244
18.1.3易犯的錯誤——不要讓“一切
皆是對象”變成了“一切皆
是類” 244
18.1.4面向對象程式設計的優點和
基本特徵 245
18.1.5對比——面向對象和結構化
程式設計的區別 245
18.2創建類 246
18.2.1創建一個PHP類 246
18.2.2類的定義 247
18.2.3易犯的錯誤——類與PHP
執行塊 248
18.3類的使用 249
18.3.1怎樣創建類的實例 249
18.3.2訪問對象屬性 250
18.3.3訪問對象方法 250
18.3.4訪問常量、靜態方法和訪問
靜態屬性 250
18.3.5在類體中使用關鍵字$this 250
18.3.6使用可變變數訪問成員 251
18.4屬性的初始化 252
18.4.1內聯方式初始化屬性 253
18.4.2實例化時初始化屬性 253
18.5定義方法 253
18.5.1方法參數的類型提示 254
18.5.2構造方法和析構方法 255
18.5.3易犯的錯誤 257
18.6對象成員的疊代 258
18.7PHP?5和PHP?4在使用對象上的
不同 258
第19章建立更可靠的OOP程式——類和
成員的訪問控制 260
19.1了解成員訪問控制 261
19.2public成員(公共成員) 262
19.3private成員(私有成員) 262
19.4protected成員
(受保護的成員) 263
第20章重複使用類——繼承和組合 265
20.1類的繼承 266
20.1.1創建子類 266
20.1.2使用基類的構造器方法 267
20.1.3使用關鍵字parent訪問
基類 267
20.1.4關於多重繼承的錯誤
認識 268
20.1.5檢測繼承關係 269
20.1.6創建子類時的注意事項 269
20.1.7擴展內建PHP類 270
20.2在類中使用final修飾符禁止
繼承 270
20.3類的組合 271
20.3.1實現類的組合 271
20.3.2組合的優點 272
20.3.3了解is-a和has-a 272
20.3.4關於聚合和組合 272
第21章靜態成員、靜態類和枚舉 273
21.1為什麼要定義靜態成員和
靜態類 274
21.2創建靜態成員 274
21.2.1訪問靜態成員 275
21.2.2易犯的錯誤——使用靜態
成員時的注意事項 275
21.2.3靜態成員的特殊用途 276
21.2.4靜態成員和繼承 276
21.2.5後期靜態綁定 277
21.3靜態類 278
21.4枚舉 279
21.4.1創建枚舉 279
21.4.2使用枚舉的優點 280
第22章多態——重載和覆載 281
22.1方法的重載 282
22.1.1重載參數列表的數量 282
22.1.2重載參數列表的數量和
類型 283
22.1.3靜態方法重載 284
22.2重寫方法 285
第23章接口和抽象——錯誤最深重的
地方 288
23.1創建和實現接口 289
23.1.1接口的定義 289
23.1.2接口的實現 289
23.1.3常量的實現 290
23.1.4在接口和實現接口的類中
使用默認參數值 290
23.1.5接口的合併 291
23.2創建抽象類 291
23.3接口和抽象類的區別 292
23.3.1用一句話來區分接口和
抽象類 293
23.3.2唯一能使用抽象類的地方 293
第24章類、接口、函式和常量的
組織——命名空間 296
24.1為什麼要使用命名空間——預防
衝突 297
24.2創建命名空間 297
24.2.1定義命名空間 298
24.2.2使用命名空間實現合理的
分類管理 300
24.2.3命名空間的命名 301
24.3使用命名空間 301
24.3.1引用命名空間 301
24.3.2命名空間使用的優先策略 302
24.3.3使用namespace關鍵字和
__NAMESPACE__常量 303
24.3.4導入命名空間 303
24.3.5名稱解析規則 304
第25章密封類和動態類 306
25.1動態屬性 307
25.1.1使用魔術方法__get()和
__set() 307
25.1.2使用魔術方法__isset()和
__unset() 307
25.2動態方法 309
25.3創建密封類 309
第26章使用魔術方法 310
26.1類的自動載入和重用 311
26.2轉換為字元串 311
26.2.1__set_state()魔術方法 312
26.2.2__invoke()魔術方法 313
26.3序列化和逆序列化 314
26.3.1執行序列化和逆序列化 314
26.3.2自定義序列化和逆序列化 314
26.4對象的克隆 316
26.4.1淺表克隆 316
26.4.2深度克隆 316
26.4.3使用魔術方法__clone() 317
第27章反射 319
27.1反射要實現什麼 320
27.2反射API 320
27.3用於實現反射的函式 327
第28章PHP設計模式 330
28.1單體模式 331
28.2工廠模式 332
28.2.1簡單工廠模式 333
28.2.2工廠方法模式 334
28.2.3抽象工廠模式 335
28.3建造者模式 336
28.4觀察者模式 337
28.5裝飾模式 338
第5篇PHP和MySQL資料庫套用集成篇
第29章安裝、配置和使用MySQL資料庫
伺服器 342
29.1安裝和配置MySQL資料庫
伺服器 343
29.2使用MySQL資料庫伺服器 344
29.2.1連線MySQL伺服器 344
29.2.2修改密碼 345
29.2.3用戶賬戶管理 345
29.2.4數據類型 346
29.2.5資料庫操作 348
29.2.6MySQL數據備份與恢復 349
第30章使用phpMyAdmin管理
MySQL 352
30.1配置phpMyAdmin 353
30.2創建資料庫 355
30.3設計資料庫結構 355
30.4錄入數據 356
第31章使用PDO接口訪問資料庫 357
31.1配置PHP使用PDO 358
31.2資料庫連線和配置數據源 358
31.2.1資料庫連線 358
31.2.2資料庫連線驅動 359
31.3基本資料庫查詢操作 360
31.3.1查詢和顯示數據記錄 360
31.3.2遍歷列出數據表的
內容 360
31.4修改數據 361
31.4.1插入數據記錄 361
31.4.2更新數據記錄 362
31.4.3刪除數據記錄 363
31.4.4插入和顯示資料庫中的圖片
(處理二進制數據) 364
31.5運算元據庫結構 366
31.6在PHP中套用PDO的基本
步驟 366
31.6.1創建連線 367
31.6.2執行查詢或更新 370
31.6.3處理結果 371
31.6.4關閉連線 371
31.7其他常用資料庫連線的連線
方式 372
31.7.1連線到SQLServer和Sybase
資料庫 372
31.7.2連線到Firebird和Interbase
資料庫 372
31.7.3連線到IBMDB2資料庫 372
31.7.4連線到Oracle資料庫 373
31.7.5連線到ODBC或DB2
資料庫 373
31.7.6連線到PostgreSQL
資料庫 373
31.7.7連線到SQLite資料庫 374
31.8通過ODBC連線MySQL
資料庫 374
第32章資料庫設計和SQL語法 377
32.1資料庫設計基本知識 378
32.1.1關於資料庫 378
32.1.2設計資料庫 379
32.2SQL語法入門 381
32.2.1語法基礎知識 382
32.2.2定義記錄集的列 383
32.2.3限制記錄集中的記錄 384
32.2.4對記錄集中的記錄進行
排序 385
32.2.5聯接表 385
32.3創建和使用SQL存儲過程 389
32.3.1使用命令行創建存儲
過程 390
32.3.2為存儲過程定義參數 391
32.3.3調用存儲過程 391
32.3.4為調用存儲過程定義參數 392
32.4SQL注入缺陷和參數化
查詢 394
32.4.1基本的SQL注入預防
措施 394
32.4.2使用參數化查詢預防SQL
注入 395
32.4.3關於魔術引號和magic_quotes_
gpc導致的SQL注入 396
思考與練習 397
第33章深入探究PDO 398
33.1了解PDO編程模型 399
33.1.1了解PDO類 399
33.1.2了解PDOStatement類 399
33.1.3了解PDOException類 400
33.2使用預處理語句和參數化
查詢 400
33.2.1使用預處理 401
33.2.2指定參數和實現參數化
查詢 401
33.3游標和數據提取 403
33.3.1游標的類型 404
33.3.2數據提取方法 404
33.3.3數據提取方法和提取模式
的配合 406
33.3.4關於元數據 413
33.4關於PDO連線屬性 414
33.4.1欄位名區分大小寫 414
33.4.2了解PDO持久連線 415
33.5錯誤和錯誤處理 415
第34章結果集分頁實用模組 417
34.1結果集分頁的方式 418
34.2結果集分頁的技術原理 418
34.3結果集分頁的範例 419
34.4使用LIMIT子句分頁 422
第35章使用MySQL資料庫函式和
MySQLi擴展 426
35.1配置MySQL資料庫函式 427
35.1.1MySQL函式運行時配置 427
35.1.2MySQL函式資源類型 427
35.1.3預定義常量 428
35.2基本資料庫查詢操作 428
35.2.1查詢和顯示數據記錄 428
35.2.2遍歷列出資料庫內容 429
35.3修改數據 430
35.3.1插入數據記錄 430
35.3.2更新數據記錄 431
35.3.3刪除數據記錄 431
35.3.4插入和顯示資料庫中的圖片
(二進制數據) 432
35.3.5使用MySQL資料庫函式操控
資料庫的基本步驟 434
35.4使用MySQLi擴展 437
35.4.1MySQLi運行時配置 437
35.4.2MySQLi基本的使用方法 438
35.4.3使用MySQLi類 440
35.4.4使用mysqli_stmt類 441
35.4.5使用mysqli_result類 442
第6篇PHP基礎架構、擴展和框架套用篇
第36章PHP網路應用程式基礎
架構 444
36.1PHP網路應用程式的三層
架構模型 445
36.2從C/S架構到B/S架構 446
36.2.1從三層架構到N層架構 448
36.2.2PHP網頁在三層架構中的
地位 448
第37章PHP擴展——PECL和
PEAR 449
37.1使用PHP擴展 450
37.2安裝和使用PEAR擴展 451
37.2.1安裝PEAR環境 451
37.2.2管理PEAR擴展 452
37.2.3使用擴展包 452
第38章使用PHP傳送和接收電子
郵件 453
38.1安裝和使用SMTP服務 454
38.1.1安裝SMTP服務 454
38.1.2配置SMTP服務 455
38.1.3配置Outlook使用本地SMTP
服務傳送郵件 456
38.1.4區分POP3和SMTP服務 457
38.2創建傳送郵件的PHP套用
程式 458
38.2.1了解mail()函式 458
38.2.2創建簡單的郵件傳送程式 459
38.2.3SMTP服務和mail()函式的
工作原理 460
38.3創建增強的郵件傳送程式 460
38.3.1安裝和配置 461
38.3.2使用遠程SMTP服務 461
38.3.3傳送帶附屬檔案的電子郵件 462
38.3.4傳送多媒體郵件 463
38.3.5群發郵件 465
38.4使用POP3方式收信 466
第39章使用PHP操作檔案系統 468
39.1了解目錄和檔案的路徑 469
39.2獲取目錄和檔案的信息 470
39.2.1獲取磁碟的總大小和可用
空間 470
39.2.2獲取目錄和檔案的屬性
信息 470
39.2.3遍歷資料夾下的目錄和
檔案 471
39.3處理目錄 474
39.3.1目錄的創建、刪除、重命名和
移動 474
39.3.2刪除目錄樹 475
39.3.3處理當前網頁所在目錄 476
39.4處理檔案 476
39.4.1檔案的創建、刪除、複製、
重命名和移動 476
39.4.2向檔案中添加數據 477
39.4.3讀取檔案內容 479
39.4.4檔案下載 480
第40章使用W3CDOM處理XML
文檔 482
40.1一切皆是節點——學習DOM的
首要認識 483
40.1.1DOMAPI的節點類型 483
40.1.2節點的層次關係 483
40.1.3DOM基於節點的瀏覽 484
40.2使用PHPDOM處理XML
文檔 485
40.2.1PHPDOMAPI 486
40.2.2使用字元串創建一個新的
DOM文檔對象 494
40.2.3使用檔案創建一個新的DOM
文檔對象 495
40.2.4使用版本號和編碼創建一個空
的DOM文檔對象 495
40.2.5保存和寫出一個DOM文檔
對象 495
40.2.6遍歷節點樹 496
40.2.7使用XPath從XML文檔中
提取數據 499
40.3修改XML文檔 499
40.3.1添加新節點 499
40.3.2為元素節點添加
新屬性 500
40.3.3通過克隆的方法創
建節點 501
40.3.4修改XML文檔中的節點、
內容和值 502
40.3.5刪除XML文檔中的節點、
內容和值 503
第41章使用SAX處理XML文檔 504
41.1什麼是SAX 505
41.2使用SAX解析XML的通用
步驟 507
41.2.1出錯代碼和常量 511
41.2.2SAX解析函式詳解 512
第42章使用Zend框架 518
42.1安裝和配置Zend框架 519
42.2使用Zend框架 519
第7篇PHP程式調試、最佳化和部署篇
第43章處理程式異常——建立可靠的
應用程式 524
43.1錯誤和異常情況 525
43.2異常情況處理 526
43.2.1使用try…catch語句 526
43.2.2使用throw語句 527
43.2.3何時使用異常捕捉 528
43.2.4自定義捕捉異常的方法 528
43.2.5自定義捕捉錯誤的方法 529
43.2.6將出錯信息寫入日誌 530
43.2.7錯誤控制運算符 531
43.3使用Exception處理異常錯誤
信息 531
43.4條件catch語句 532
第44章使用ZendDebugger調試PHP
程式代碼——原理與範例 533
44.1調試PHP的方法 534
44.1.1使用出錯信息 534
44.1.2伺服器日誌 535
44.1.3斷點調試 535
44.2配置PHP調試環境 535
44.2.1安裝和配置ZendDebugger 536
44.2.2安裝和配置ZendStudio 537
44.3使用ZendStudio進行調試 538
44.3.1調試操作 539
44.3.2調試工具列 540
44.3.3查看變數 541
44.3.4設定斷點 541
44.3.5監控變數 542
44.3.6調用堆疊視窗 542
44.4使用script調試工具範例
實戰 543
44.4.1定義一個用於調試的PHP
範例網頁 543
44.4.2調試實戰 544
第45章PHP事務和關鍵應用程式
開發 548
45.1理解事務 549
45.1.1事務的工作過程 549
45.1.2事務的共同特點 549
45.2在PHP應用程式中使用事務 550
45.2.1在PHP網頁中使用PDO自身
事務處理系統 551
45.2.2使用資料庫系統完成事務 552
第46章PHP網路應用程式的安全 554
46.1身份驗證和授權 555
46.1.1了解Apache提供的身份驗證
功能 555
46.1.2關於匿名訪問站點 555
46.1.3創建基本身份驗證站點 555
46.1.4摘要式身份驗證 559
46.1.5分級訪問控制 562
46.1.6使用表單的身份驗證和基於
角色的授權系統 562
46.2傳輸過程中的加密 562
46.2.1加密的工作原理 563
46.2.2安全證書的工作原理 564
46.2.3使用隱私和安全證書 564
46.3配置Apache支持SSL 564
46.3.1安裝OpenSSL 565
46.3.2創建伺服器證書和私鑰 565
46.3.3配置Apache和mod_ssl 567
46.3.4信任自簽名證書 569
46.3.5創建CA 571
46.3.6使用CA簽名和頒發
證書 572
46.3.7在客戶端安裝根證書 573
46.4使用瀏覽器證書 574
46.4.1使用瀏覽器證書的注意
事項 575
46.4.2創建瀏覽器證書 575
46.4.3安裝瀏覽器證書 575
46.4.4啟用瀏覽器證書 576
46.4.5使用客戶證書映射 580
第47章PHP網頁的國際化、區域化和
多國語言包 582
47.1了解網頁字元編碼 583
47.1.1計算機文字字元編碼
簡介 583
47.1.2文檔字元集和選擇字元
編碼 585
47.1.3在HTML文檔中使用字元
引用 585
47.2字元編碼和PHP網頁 586
47.2.1指定網頁字元編碼 586
47.2.2字元編碼的優先權 587
47.2.3亂碼產生的根源和解決
方案 587
47.2.4為PHP網頁實際編碼 588
47.2.5創建多語言網站 588
47.3區域化設定和PHP網頁 590
47.3.1國際化和區域化設定 590
47.3.2區域化設定和字元集的
匹配 591
47.3.3使用setlocale()函式設定
區域化 593
47.4創建PHP網頁實現國際化和
區域化 594
47.4.1了解國際化和區域化的
相關函式 594
47.4.2製作資源包 595
47.4.3放置資源包 598
思考與練習 598
附錄A保留的PHP關鍵字 599
附錄B常用字元集速查表 600
附錄CPHP支持的時區字元串列表 601
附錄Dphp.ini核心配置選項說明 607
附錄E區域標識符對照表 612
附錄FLinux+Apache+MySQL+PHP
(LAMP)安裝和配置 614
F.1安裝和配置Apache 614
F.2安裝和配置PHP 615
F.3安裝和配置MySQL 617
附錄G關於PHP?6的介紹 618
附錄H參考文獻以及資料來源 619
參考網址 619
參考圖書 620
參考規範及標準 621