第1章 php概述 1
         1.1 曆史 1
         1.1.1 php 4 2
         1.1.2 php 5 3
         1.2 php的一般特性 3
         1.2.1 實用性 3
         1.2.2 強大功能 4
         1.2.3 可選擇性 4
         1.2.4 成本 5
         1.3 小結 5
         第2章 安裝配置apache和php 6
         2.1 安裝 6
         2.1.1 獲得發行包 6
         2.1.2 安裝過程 7
         2.1.3 測試安裝 11
         2.1.4 定製unix構建 12
         2.1.5 定製windows構建 12
         2.1.6 常見錯誤 13
         2.1.7 查看並下載文檔 13
         2.2 配置 13
         2.2.1 管理php的配置指令 14
         2.2.2 php的配置指令 15
         2.3 小結 29
         第3章 php基礎 30
         3.1 界定php代碼 30
         3.1.1 默認語法 30
         3.1.2 短標記 31
         3.1.3 腳本 31
         3.1.4 asp風格 32
         3.1.5 嵌入多個代碼塊 32
         3.2 注釋 32
         3.2.1 單行c++語法 32
         3.2.2 shell語法 32
         3.2.3 多行c語法 33
         3.3 輸齣 33
         3.3.1 print() 33
         3.3.2 echo() 34
         3.3.3 printf() 34
         3.3.4 sprintf() 35
         3.4 數據類型 35
         3.4.1 標量數據類型 35
         3.4.2 復閤數據類型 37
         3.4.3 特殊數據類型 38
         3.4.4 類型強製轉換 38
         3.4.5 類型自動轉換 39
         3.4.6 與類型有關的函數 40
         3.4.7 類型標識符函數 40
         3.5 標識符 41
         3.6 變量 41
         3.6.1 變量聲明 42
         3.6.2 變量作用域 43
         3.6.3 php的超級全局變量 45
         3.6.4 變量的變量 48
         3.7 常量 49
         3.8 錶達式 49
         3.8.1 操作數 50
         3.8.2 操作符 50
         3.9 字符串插入 54
         3.9.1 雙引號 55
         3.9.2 單引號 55
         3.9.3 heredoc 56
         3.10 控製結構 56
         3.10.1 執行控製語句 57
         3.10.2 條件語句 57
         3.10.3 循環語句 59
         3.10.4 文件包含語句 63
         3.10.5 require_once() 65
         3.11 小結 65
         第4章 函數 66
         4.1 調用函數 66
         4.2 創建函數 66
         4.2.1 按值傳遞參數 67
         4.2.2 按引用傳遞參數 68
         4.2.3 默認參數值 68
         4.2.4 可選參數 68
         4.2.5 從函數返迴值 69
         4.2.6 嵌套函數 70
         4.2.7 遞歸函數 70
         4.2.8 變量函數 72
         4.3 函數庫 73
         4.4 小結 74
         第5章 數組 75
         5.1 什麼是數組 75
         5.2 輸齣數組 76
         5.3 創建數組 77
         5.4 測試數組 79
         5.5 增加和刪除數組元素 79
         5.6 定位數組元素 81
         5.7 遍曆數組 82
         5.8 確定數組大小和唯一性 85
         5.9 數組排序 86
         5.10 閤並、拆分、接閤和分解數組 91
         5.11 其他有用的數組函數 95
         5.12 小結 96
         第6章 麵嚮對象的php 97
         6.1 oop的好處 97
         6.1.1 封裝 97
         6.1.2 繼承 98
         6.1.3 多態 98
         6.2 關鍵的oop概念 99
         6.2.1 類 99
         6.2.2 對象 99
         6.2.3 字段 100
         6.2.4 屬性 102
         6.2.5 常量 104
         6.2.6 方法 105
         6.3 類型提示 108
         6.4 構造函數和析構函數 108
         6.4.1 構造函數 108
         6.4.2 析構函數 110
         6.5 靜態類成員 111
         6.6 instanceof關鍵字 112
         6.7 輔助函數 112
         6.8 自動加載對象 114
         6.9 小結 114
         第7章 高級oop特性 115
         7.1 php不支持的高級oop特性 115
         7.2 對象剋隆 116
         7.2.1 剋隆示例 116
         7.2.2 __clone()方法 117
         7.3 繼承 118
         7.3.1 類繼承 118
         7.3.2 繼承和構造函數 120
         7.4 接口 121
         7.4.1 實現一個接口 122
         7.4.2 實現多個接口 123
         7.5 抽象類 124
         7.6 反射 124
         7.6.1 編寫reflectionclass類 125
         7.6.2 編寫reflectionmethod類 127
         7.6.3 編寫reflectionparameter類 128
         7.6.4 編寫reflectionproperty類 129
         7.6.5 反射的其他用途 130
         7.7 小結 130
         第8章 錯誤和異常處理 131
         8.1 配置指令 131
         8.2 錯誤日誌 134
         8.3 異常處理 135
         8.3.1 為什麼異常處理很方便 136
         8.3.2 php的異常處理實現 137
         8.4 小結 140
         第9章 字符串和正則錶達式 141
         9.1 復雜(大括號)偏移語法 141
         9.2 正則錶達式 142
         9.2.1 正則錶達式語法(posix) 142
         9.2.2 php的正則錶達式函數
         (posix擴展) 144
         9.2.3 正則錶達式語法(perl風格) 146
         9.3 其他字符串函數 151
         9.3.1 確定字符串長度 152
         9.3.2 比較兩個字符串 152
         9.3.3 處理字符串大小寫 154
         9.3.4 字符串與html相互轉換 155
         9.3.5 正則錶達式函數的替代函數 159
         9.3.6 填充和剔除字符串 164
         9.3.7 字符和單詞計數 165
         9.4 使用pear:validate_us 167
         9.4.1 安裝validate_us 167
         9.4.2 使用validate_us 168
         9.5 小結 168
         第10章 處理文件和操作係統 169
         10.1 瞭解文件和目錄 169
         10.1.1 解析目錄路徑 169
         10.1.2 文件類型和鏈接 171
         10.1.3 計算文件、目錄和磁盤大小 173
         10.1.4 訪問和修改時間 175
         10.2 文件所有權和權限 176
         10.3 文件i/o 178
         10.3.1 資源的概念 178
         10.3.2 換行 178
         10.3.3 文件末尾 178
         10.3.4 打開和關閉文件 179
         10.3.5 讀取文件 180
         10.3.6 移動文件指針 184
         10.3.7 寫入文件 184
         10.3.8 讀取目錄內容 185
         10.4 執行shell命令 186
         10.5 係統級程序執行 187
         10.5.1 清理輸入 187
         10.5.2 php的程序執行函數 188
         10.6 小結 190
         第11章 pear 191
         11.1 流行的pear包 191
         11.2 安裝和更新pear 193
         11.2.1 安裝pear 193
         11.2.2 pear和isp公司 194
         11.2.3 更新pear 194
         11.3 使用pear包管理器 194
         11.3.1 查看安裝的包 195
         11.3.2 瞭解安裝包的更多信息 195
         11.3.3 安裝pear包 196
         11.3.4 使用pear包 197
         11.3.5 升級pear包 198
         11.3.6 卸載pear包 198
         11.3.7 降級pear包 199
         11.4 小結 199
         第12章 日期和時間 200
         12.1 unix時間戳 200
         12.2 php的日期和時間庫 200
         12.3 日期函數 206
         12.3.1 顯示本地化的日期和時間 206
         12.3.2 顯示網頁的最新修改日期 209
         12.3.3 確定當前月份中的天數 209
         12.3.4 計算當前日期後x天的日期 209
         12.3.5 創建日曆 210
         12.4 php 5.1 213
         12.4.1 date基礎 213
         12.4.2 date構造函數 213
         12.4.3 訪問方法和修改方法 214
         12.4.4 驗證函數 216
         12.4.5 處理方法 216
         12.5 小結 222
         第13章 錶單和導航提示 223
         13.1 php和web錶單 223
         13.1.1 簡單示例 224
         13.1.2 嚮函數傳遞錶單數據 225
         13.1.3 處理多值錶單組件 226
         13.1.4 用php生成錶單 227
         13.1.5 自動選擇錶單數據 228
         13.1.6 php、web錶單和
         javascript 229
         13.2 導航提示 231
         13.2.1 用戶友好的url 231
         13.2.2 “麵包屑型”軌跡 233
         13.2.3 創建定製錯誤處理函數 237
         13.3 小結 238
         第14章 身份認證 239
         14.1 http認證概念 239
         14.2 php認證 240
         14.2.1 認證變量 240
         14.2.2 認證方法 241
         14.3 用戶登錄管理 248
         14.3.1 密碼指派 248
         14.3.2 使用cracklib庫測試密碼
         易猜性 250
         14.3.3 一次性url和密碼恢復 251
         第15章 處理文件上傳 254
         15.1 通過http協議上傳文件 254
         15.2 通過php處理上傳 255
         15.2.1 php的文件上傳/資源指令 255
         15.2.2 $_files數組 256
         15.2.3 php的文件上傳函數 256
         15.2.4 上傳錯誤消息 258
         15.2.5 文件上傳示例 258
         15.3 利用pear:http_upload 261
         15.3.1 安裝http_upload 261
         15.3.2 瞭解關於上傳文件的更多
         信息 262
         15.3.3 將上傳的文件移動到最終
         目標 263
         15.3.4 上傳多個文件 263
         15.4 小結 264
         第16章 網絡 265
         16.1 dns、服務器和服務 265
         16.1.1 dns 265
         16.1.2 服務 268
         16.1.3 建立套接字連接 269
         16.2 郵件 271
         16.2.1 配置指令 271
         16.2.2 發送純文本電子郵件 272
         16.2.3 使用額外的信息首部發送
         電子郵件 272
         16.2.4 將電子郵件發送給多個
         接收者 273
         16.2.5 發送html格式的電子郵件 273
         16.2.6 發送附件 274
         16.3 imap、pop3和nntp 275
         16.3.1 需求 276
         16.3.2 建立和關閉連接 276
         16.3.3 瞭解更多關於郵箱和郵件
         的信息 277
         16.3.4 獲取郵件 280
         16.3.5 寫郵件 286
         16.3.6 發送郵件 286
         16.3.7 郵箱管理 287
         16.3.8 郵件管理 288
         16.4 流 288
         16.4.1 流包裝器和上下文 289
         16.4.2 流過濾器 290
         16.5 常見網絡任務 291
         16.5.1 連接一颱服務器 291
         16.5.2 端口掃描器 292
         16.5.3 子網轉換器 293
         16.5.4 測試用戶帶寬 294
         16.6 小結 295
         第17章 php和ldap 296
         17.1 ldap介紹 297
         17.2 在php中使用ldap 297
         17.2.1 連接到ldap服務器 297
         17.2.2 綁定到ldap服務器 298
         17.2.3 關閉ldap服務器連接 299
         17.2.4 獲取ldap數據 299
         17.2.5 處理項值 301
         17.2.6 統計所獲取的項 302
         17.2.7 獲取屬性 302
         17.2.8 排序和比較ldap項 305
         17.2.9 處理項 306
         17.2.10 迴收內存 308
         17.2.11 插入ldap數據 309
         17.2.12 更新ldap數據 309
         17.2.13 刪除ldap數據 310
         17.2.14 配置函數 311
         17.2.15 字符編碼 312
         17.2.16 處理區分名 312
         17.2.17 錯誤處理 313
         17.3 小結 314
         第18章 會話處理器 315
         18.1 什麼是會話處理 315
         18.1.1 cookie 315
         18.1.2 url重寫 316
         18.1.3 會話處理過程 316
         18.2 配置指令 317
         18.3 關鍵概念 320
         18.3.1 開始會話 320
         18.3.2 銷毀會話 321
         18.3.3 獲取和設置會話id 321
         18.3.4 創建和刪除會話變量 321
         18.3.5 編碼和解碼會話數據 322
         18.4 實際的會話處理示例 324
         18.4.1 自動登錄 324
         18.4.2 最近瀏覽的文檔索引 325
         18.5 創建定製會話處理器 327
         18.5.1 將定製會話函數加入到php
         邏輯 327
         18.5.2 基於mysql的定製會話
         處理器 328
         18.6 小結 330
         第19章 用smarty模闆化 331
         19.1 什麼是模闆化引擎 331
         19.2 smarty介紹 333
         19.3 安裝smarty 333
         19.4 使用smarty 334
         19.5 smarty的錶現邏輯 336
         19.5.1 注釋 336
         19.5.2 變量修飾符 336
         19.5.3 控製結構 339
         19.5.4 語句 342
         19.6 創建配置文件 344
         19.6.1 config_load 345
         19.6.2 引用配置變量 345
         19.7 結閤smarty使用css 346
         19.8 緩存 347
         19.8.1 處理緩存生命期 347
         19.8.2 通過is_cached()消除處理
         開銷 348
         19.8.3 為每個模闆創建多個緩存 348
         19.8.4 關於緩存的結束語 349
         19.9 小結 350
         第20章 web服務 351
         20.1 為什麼使用web服務 352
         20.2 真正簡單聚閤 353
         20.2.1 rss語法 355
         20.2.2 magpierss 356
         20.3 simplexml 361
         20.3.1 simplexml函數 362
         20.3.2 simplexml方法 363
         20.4 soap 365
         20.4.1 nusoap 366
         20.4.2 php 5的soap擴展 374
         20.5 使用php web服務和c#客戶 381
         20.6 小結 383
         第21章 安全php編程 384
         21.1 安全地配置php 384
         21.1.1 安全模式 385
         21.1.2 其他與安全有關的配置參數 386
         21.2 隱藏配置細節 388
         21.3 隱藏敏感數據 389
         21.3.1 注意文檔根目錄 390
         21.3.2 拒絕訪問某些文件擴展名 390
         21.4 清理用戶數據 390
         21.4.1 文件刪除 390
         21.4.2 跨網站腳本 391
         21.4.3 清理用戶輸入:解決方案 392
         21.5 數據加密 394
         21.5.1 php的加密函數 394
         21.5.2 mhash 395
         21.5.3 mcrypt 396
         21.6 小結 397
         第22章 sqlite 398
         22.1 sqlite介紹 398
         22.1.1 安裝sqlite 398
         22.1.2 使用sqlite命令行界麵 399
         22.2 php的sqlite庫 400
         22.2.1 sqlite指令 400
         22.2.2 打開連接 400
         22.2.3 在內存中創建錶 401
         22.2.4 關閉連接 401
         22.2.5 查詢數據庫 402
         22.2.6 解析結果集 403
         22.2.7 獲取結果集細節 405
         22.2.8 操作結果集指針 406
         22.2.9 瞭解錶模式的更多信息 408
         22.2.10 操作二進製數據 408
         22.2.11 創建和覆蓋sqlite函數 409
         22.2.12 創建聚集函數 410
         22.3 小結 411
         第23章 pdo介紹 412
         23.1 為什麼還要另一種數據庫抽象層 413
         23.2 使用pdo 413
         23.2.1 安裝pdo 414
         23.2.2 pdo的數據庫支持 414
         23.2.3 連接到數據庫服務器並選擇
         數據庫 415
         23.2.4 存取屬性 416
         23.2.5 錯誤處理 417
         23.2.6 查詢執行 417
         23.2.7 準備語句 418
         23.2.8 獲取數據 421
         23.2.9 設置綁定列 423
         23.2.10 事務 424
         23.3 小結 425
         第24章 mysql介紹 426
         24.1 mysql為什麼如此流行 426
         24.1.1 靈活性 426
         24.1.2 強大功能 427
         24.1.3 靈活的許可選擇 428
         24.1.4 超級活躍的用戶群體 429
         24.2 mysql 4 429
         24.3 mysql 5 430
         24.4 著名的mysql用戶 430
         24.4.1 craigslist 430
         24.4.2 雅虎財經 431
         24.4.3 維基百科 431
         24.5 小結 431
         第25章 安裝和配置mysql 432
         25.1 php和mysql許可問題 432
         25.1.1 linux 433
         25.1.2 windows 433
         25.2 下載mysql 433
         25.3 安裝mysql 434
         25.3.1 linux 434
         25.3.2 windows 437
         25.4 設置mysql管理員密碼 439
         25.5 啓動和停止mysql 439
         25.5.1 手工控製守護進程 439
         25.5.2 自動啓動和停止mysql 441
         25.6 配置和優化mysql 442
         25.6.1 mysqld_safe 443
         25.6.2 配置和優化參數 443
         25.6.3 my.cnf文件 446
         25.7 小結 448
         第26章 眾多mysql客戶端 449
         26.1 標準客戶端選項 449
         26.2 連接選項 450
         26.3 一般選項 450
         26.4 mysql 451
         26.4.1 關鍵mysql選項 451
         26.4.2 以交互模式使用mysql 452
         26.4.3 查看配置變量和係統狀態 454
         26.4.4 以批處理模式使用mysql 455
         26.4.5 有用的mysql提示 456
         26.5 mysqladmin 458
         26.6 其他實用工具 459
         26.6.1 mysqldump 459
         26.6.2 mysqlshow 459
         26.6.3 mysqlhotcopy 460
         26.6.4 mysqlimport 460
         26.6.5 myisamchk 461
         26.6.6 mysqlcheck 461
         26.7 第三方客戶端程序 462
         26.7.1 mysql管理器 462
         26.7.2 phpmyadmin 463
         26.7.3 mysql查詢瀏覽器 464
         26.7.4 navicat 465
         26.8 小結 466
         第27章 mysql存儲引擎和數據類型 467
         27.1 存儲引擎 467
         27.1.1 innodb 468
         27.1.2 myisam 468
         27.1.3 memory 470
         27.1.4 merge 471
         27.1.5 bdb 471
         27.1.6 federated 471
         27.1.7 archive 472
         27.1.8 csv 473
         27.1.9 example 473
         27.1.10 blackhole 473
         27.1.11 存儲引擎faq 473
         27.2 數據類型和屬性 475
         27.2.1 數據類型 475
         27.2.2 數據類型屬性 479
         27.3 操作數據庫和錶 481
         27.3.1 操作數據庫 481
         27.3.2 操作錶 483
         27.3.3 修改錶結構 485
         27.3.4 information_schema 485
         27.4 小結 487
         第28章 保護mysql的安全 488
         28.1 首先應當做什麼 488
         28.2 保護mysqld守護進程 489
         28.3 mysql訪問權限係統 489
         28.3.1 權限係統的工作方式 490
         28.3.2 訪問信息存儲在哪裏 491
         28.4 用戶和權限管理 498
         28.4.1 create user 498
         28.4.2 drop user 499
         28.4.3 rename user 499
         28.4.4 grant和revoke命令 499
         28.4.5 查看權限 503
         28.5 限製用戶資源 503
         28.6 保護mysql連接 504
         28.6.1 授權選項 504
         28.6.2 ssl選項 505
         28.6.3 啓動啓用ssl的mysql
         服務器 506
         28.6.4 使用啓用ssl的客戶端進行
         連接 506
         28.6.5 在my.cnf文件中存儲ssl
         選項 506
         28.7 小結 507
         第29章 php的mysql擴展 508
         29.1 預備工作 508
         29.1.1 在linux中啓用mysql擴展 508
         29.1.2 在windows中啓用mysql
         擴展 508
         29.1.3 用戶權限 509
         29.1.4 示例數據 509
         29.2 php的mysql命令 509
         29.2.1 建立和關閉連接 509
         29.2.2 在單獨的文件中存儲連接
         信息 511
         29.2.3 保護連接信息 511
         29.3 選擇數據庫 512
         29.4 查詢mysql 512
         29.5 獲取和顯示數據 513
         29.6 插入數據 516
         29.7 修改數據 517
         29.8 刪除數據 519
         29.9 所選擇的記錄和受影響的記錄 520
         29.10 獲取數據庫和錶的信息 521
         29.11 獲取字段信息 523
         29.11.1 查看錶屬性 526
         29.11.2 獲取錯誤信息 527
         29.12 輔助函數 528
         29.13 小結 530
         第30章 php的mysqli擴展 531
         30.1 預備工作 532
         30.1.1 在unix中啓用mysqli
         擴展 532
         30.1.2 在windows中啓用mysqli
         擴展 532
         30.1.3 示例數據 532
         30.2 使用mysqli擴展 532
         30.2.1 連接mysql服務器 532
         30.2.2 連接錯誤報告 533
         30.2.3 選擇一個mysql數據庫 535
         30.2.4 關閉mysql連接 536
         30.3 查詢 536
         30.3.1 查詢執行 536
         30.3.2 迴收查詢內存 537
         30.3.3 準備結果集 538
         30.3.4 解析結果 539
         30.3.5 多個查詢 542
         30.3.6 準備語句 543
         30.4 數據庫事務 548
         30.5 小結 549
         第31章 存儲例程 550
         31.1 應當使用存儲例程嗎 550
         31.1.1 存儲例程的優點 550
         31.1.2 存儲例程的缺點 551
         31.2 mysql如何實現存儲例程 551
         31.2.1 存儲例程權限錶 551
         31.2.2 創建存儲例程 553
         31.2.3 聲明和設置變量 554
         31.2.4 執行存儲例程 555
         31.2.5 多語句存儲例程 556
         31.2.6 從另一個例程中調用例程 562
         31.2.7 修改存儲例程 563
         31.2.8 刪除存儲例程 563
         31.2.9 查看例程狀態 563
         31.2.10 查看例程的創建語法 564
         31.2.11 條件和處理器 564
         31.3 將例程集成到web應用程序 565
         31.3.1 創建員工奬金界麵 565
         31.3.2 獲取多條記錄 566
         31.4 小結 566
         第32章 mysql觸發器 567
         32.1 介紹觸發器 567
         32.1.1 為什麼使用觸發器 567
         32.1.2 在事件前采取行動 568
         32.1.3 在事件後采取行動 568
         32.1.4 前觸發器和後觸發器 569
         32.2 mysql對觸發器的支持 569
         32.2.1 創建觸發器 570
         32.2.2 查看現有的觸發器 571
         32.2.3 修改觸發器 572
         32.2.4 刪除觸發器 572
         32.2.5 級聯觸發器 573
         32.3 將觸發器集成到web應用程序 574
         32.4 小結 575
         第33章 視圖 576
         33.1 視圖概述 576
         33.2 mysql對視圖的支持 577
         33.2.1 創建和執行視圖 577
         33.2.2 查看視圖信息 581
         33.2.3 修改視圖 582
         33.2.4 刪除視圖 583
         33.2.5 更新視圖 583
         33.3 將視圖結閤到web應用程序中 583
         33.4 小結 585
         第34章 實用數據庫查詢 586
         34.1 示例數據 586
         34.2 用pear創建錶格輸齣 587
         34.2.1 安裝html_table 587
         34.2.2 創建一個簡單錶 587
         34.2.3 創建更可讀的行輸齣 589
         34.2.4 根據數據庫數據創建錶格 589
         34.2.5 一般化輸齣過程 591
         34.3 排序輸齣 593
         34.4 創建分頁輸齣 594
         34.5 列齣頁碼 597
         34.6 子查詢 598
         34.6.1 用子查詢完成比較 599
         34.6.2 用子查詢確定存在性 599
         34.6.3 用子查詢維護數據庫 600
         34.6.4 在php中使用子查詢 601
         34.7 遊標 601
         34.7.1 遊標基礎 601
         34.7.2 創建遊標 602
         34.7.3 打開遊標 602
         34.7.4 使用遊標 602
         34.7.5 關閉遊標 603
         34.7.6 在php中使用遊標 604
         34.8 小結 604
         第35章 索引和搜索 605
         35.1 數據庫索引 605
         35.1.1 主鍵索引 605
         35.1.2 唯一索引 606
         35.1.3 常規索引 607
         35.1.4 全文索引 608
         35.1.5 索引最佳實踐 611
         35.2 基於錶單的搜索 611
         35.2.1 執行簡單搜索 612
         35.2.2 擴展搜索功能 613
         35.2.3 執行全文搜索 614
         35.3 小結 615
         第36章 事務 616
         36.1 什麼是事務 616
         36.2 mysql的事務功能 616
         36.2.1 係統需求 617
         36.2.2 錶創建 617
         36.2.3 innodb配置參數 618
         36.3 示例項目 619
         36.3.1 示例數據 620
         36.3.2 執行示例事務 620
         36.3.3 備份和恢復innodb錶 622
         36.3.4 用法提示 622
         36.4 用php構建事務應用程序 622
         36.5 小結 624
         第37章 導入和導齣數據 625
         37.1 示例錶 625
         37.2 獲得閤適的媒介 625
         37.3 導齣數據 626
         37.4 導入數據 628
         37.4.1 利用load data infile導入
         數據 628
         37.4.2 用mysqlimport導入 631
         37.4.3 用php加載錶數據 633
         37.5 小結 634
         索引
      · · · · · ·     (
收起)