內容介紹
本書從初學者角度出發,通過通俗易懂的語言和大量生動典型的實例,由淺入深、循序漸進地介紹PHP進行網路編程的常用技術和方法。全書分3篇,共21章。第1篇為起步篇(第1章~第8章),主要介紹PHP的發展及相關知識、PHP環境的安裝與配置、PHP語言基礎、流程控制語句、PHP與HTML表單、字元串和正則表達式,以及數組、日期和時間等內容;第2篇為提高篇(第9章~第15章),主要介紹檔案和目錄處理技術、圖像處理技術、Cookie和會話控制、面向對象、MySQL資料庫、資料庫編程技術、PHP的調試與解決方案等內容;第3篇為實例篇(第16章~第21章),主要結合實際開發經驗介紹註冊和登錄、留言本、論壇、聊天室、郵件收發系統、電子商務等內容。
適合人群
本書適用於PHP初、中級用戶,也可作為大、中專院校師生和培訓班的教材,對於網路編程愛好者,本書也有非常好的參考價值。
目錄
第1章 PHP概述 3
1.1 什麼是PHP 4
1.2 PHP開發語言的特點 4
1.2.1 速度快 4
1.2.2 實用性 4
1.2.3 功能強大 4
1.2.4 可選擇性 4
1.2.5 成本低 5
1.2.6 版本更新速度快 5
1.2.7 功能全面 5
1.3 PHP的發展趨勢 5
1.4 PHP的語法結構 5
1.4.1 PHP標識符 6
1.4.2 PHP標記符 6
1.4.3 有效使用注釋 7
1.5 輸出語句 8
1.5.1 套用print()語句輸出字元 8
1.5.2 套用echo()語句輸出字元 9
1.5.3 套用printf()語句格式化輸出字元 10
1.5.4 套用sprintf()語句格式化輸出字元 11
1.6 引用檔案 11
1.6.1 套用include()語句包含檔案 11
1.6.2 套用require()語句包含檔案 12
1.6.3 套用include_once()語句包含檔案 13
1.6.4 套用require_once()語句包含檔案 141.6.5 include()語句和require()語句的區別 15
1.6.6 include_once()語句和require_once()語句的區別 16
1.7 PHP動態網頁的工作流程 16
1.8 體驗PHP——編寫第一個PHP Web 16
1.8.1 創建站點 17
1.8.2 使用Dreamweaver創建PHP檔案 17
1.8.3 創建PHP標記 17
1.8.4 編寫PHP代碼 17
1.8.5 存儲檔案 18
1.8.6 網站運行結果 18
1.9 獲取幫助信息 18
1.9.1 PHP學習工具和資料下載 19
1.9.2 獲取PHP的原始碼資源 20
1.10 本章小結 20
第2章 PHP環境的安裝與配置 21
2.1 Windows下套用AppServ快速配置PHP開發環境 22
2.2 Windows下Apache+MySQL+PHP的安裝配置 24
2.2.1 Windows下Apache的安裝配置 24
2.2.2 Windows下MySQL的安裝配置 27
2.2.3 Windows下PHP的安裝配置 28
2.3 在Windows下架設IIS+PHP的執行環境 29
2.3.1 IIS的安裝 30
2.3.2 架設PHP到IIS 30
2.4 Linux下Apache+MySQL+PHP的安裝配置 32
2.4.1 Linux下Apache的安裝配置 32
2.4.2 Linux下MySQL的安裝配置 33
2.4.3 Linux下PHP的安裝配置 34
2.5 獲取PHP的配置信息 35
2.5.1 Apache伺服器的基本配置 35
2.5.2 php.ini檔案的基本配置 35
2.6 解決PHP的常見配置問題 37
2.6.1 解決Apache伺服器連線埠衝突 37
2.6.2 更改Apache伺服器默認存儲的檔案路徑 37
2.6.3 在php.ini檔案中更改上傳檔案的大小 37
2.6.4 增加PHP擴展模組 37
2.6.5 修改php.ini檔案以支持MySQL資料庫 38
2.7 本章小結 38
第3章 PHP語言基礎 39
3.1 數據類型 40
3.1.1 標量數據類型 40
3.1.2 複合數據類型 43
3.1.3 特殊數據類型 44
3.1.4 轉換數據類型 45
3.1.5 檢測數據類型 46
3.2php常量47
3.2.1 聲明和使用常量 47
3.2.2 預定義常量 48
3.3 PHP變數 50
3.3.1 理解變數 50
3.3.2 聲明變數 50
3.3.3 變數作用域 51
3.3.4可變變數52
3.3.5預定義變數53
3.3.6 變數的生存周期 53
3.4 PHP的運算符 53
3.4.1 操作算術運算符 54
3.4.2 操作字元串運算符54
3.4.3 操作賦值運算符 55
3.4.4 操作位運算符 55
3.4.5 遞增或遞減運算符56
3.4.6 操作邏輯運算符 56
3.4.7 操作比較運算符 57
3.4.8 其他運算符 58
3.4.9 運算符的優先權 59
3.5 PHP的表達式 59
3.6 自定義函式 60
3.6.1 定義和調用函式 60
3.6.2 在函式間傳遞參數 61
3.6.3 函式的返回值 62
3.7 本章小結 63
第4章 流程控制語句 64
4.1 算法 65
4.1.1 什麼是算法 65
4.1.2 算法的描述方法 65
4.1.3 程式三種控制結構 66
4.2 條件控制語句 67
4.2.1 if條件控制語句 67
4.2.2 switch多分支語句 68
4.2.3 if和switch語句的區別 70
4.3 循環語句 72
4.3.1 while循環語句 72
4.3.2 do...while循環語句 74
4.3.3 for循環語句 74
4.3.4 foreach循環語句 76
4.3.5 各循環語句間的區別 77
4.4 跳轉語句 77
4.4.1 break跳轉語句 77
4.4.2 continue跳轉語句 78
4.4.3 return跳轉語句 79
4.5 流程控制語句的嵌套 80
4.6 本章小結 81
第5章 PHP與HTML表單 82
5.1 表單數據的提交方式 83
5.1.1 通過GET方法提交數據 83
5.1.2 通過POST方法提交數據 84
5.2 獲取提交的表單數據 84
5.2.1 獲取按鈕的數據 85
5.2.2 獲取文本區域的數據 86
5.2.3 獲取單選按鈕的數據 87
5.2.4 獲取複選框的數據 87
5.2.5 獲取列表框的數據 88
5.2.6 獲取文本域的數據 90
5.2.7 獲取檔案域的數據 90
5.2.8 獲取隱藏域的數據 91
5.3 在PHP中處理表單變數 92
5.4 對表單傳遞的變數值進行編碼與解碼 93
5.4.1URL編碼與解碼 93
5.4.2 BASE64編碼與解碼 94
5.5 本章小節 95
第6章 字元串和正則表達式 96
6.1 字元串處理 97
6.1.1 獲取字元串的長度 97
6.1.2 字元串的連線和分割 97
6.1.3 字元串大小寫轉換 99
6.1.4 字元串與HTML相互轉換 100
6.1.5 去除字元串中的空格 102
6.1.6 確定字元串中字元和單詞的數量 103
6.1.7 定位字元 104
6.1.8 加入和去除反斜槓105
6.1.9 填充、刪除和截取字元串 107
6.1.10 字元串的比較 109
6.1.11 字元串的格式化 110
6.1.12 字元串的查找和替換 113
6.2 URL處理 117
6.2.1 URL字元串解析 117
6.2.2 URL編碼解碼函式 119
6.3 正則表達式 120
6.3.1 正則表達式概述 120
6.3.2 正則表達式的語法 121
6.3.3 PHP的正則表達式函式 126
6.4 本章小結 131
第7章 數組 132
7.1 數組的概述 133
7.2 數組的基本操作 133
7.2.1 聲明數組 133
7.2.2 輸出數組 134
7.2.3 定位數組 134
7.2.4 遍歷數組 136
7.2.5 增加刪除數組元素 139
7.2.6 確定數組大小和唯一性 142
7.2.7 數組的排序 143
7.2.8 數組的合併與拆分 144
7.2.9 數組和字元串之間的轉換 147
7.3 其他數組函式 148
7.3.1 創建指定範圍的數組 148
7.3.2 對數組中的元素進行隨機排序 149
7.3.3 對數組中所有元素進行求和 149
7.3.4 將一維數組拆分為多維數組 150
7.4 PHP全局數組 150
7.4.1 $_SERVER[]全局數組 151
7.4.2 $_GET[]和$_POST[ ]全局數組 151
7.4.3 $_COOKIE全局數組 151
7.4.4 $_ENV[]全局數組 151
7.4.5 $_REQUEST[]全局數組 151
7.4.6 $_SESSION[]全局數組 151
7.4.7 $_FILES[]全局數組 151
7.5 本章小結 153
第8章 日期和時間 154
8.1 日期和時間的概述 155
8.2 處理日期和時間 155
8.2.1 獲取日期和時間 156
8.2.2 獲取日期信息 157
8.2.3 檢驗日期的有效性 158
8.2.4 輸出格式化的日期和時間 159
8.3 PHP的時間戳 161
8.3.1 PHP中的時間戳 161
8.3.2 獲取格林威治標準時間的時間戳 161
8.3.3 獲取本地化時間戳 162
8.3.4 獲取當前時間戳 164
8.4 本章小結 164
第2篇 提高篇
第9章 檔案和目錄處理技術 167
9.1 檔案處理技術的基本操作 168
9.1.1 打開檔案 168
9.1.2 讀取檔案 168
9.1.3 寫入檔案 173
9.1.4 刪除檔案 174
9.1.5 關閉檔案 174
9.1.6 拷貝檔案 174
9.1.7 移動和重命名檔案 175
9.2 檔案的高級處理技術 175
9.2.1 訪問遠程檔案 176
9.2.2 測試檔案指針的位置 176
9.2.3 檔案指針的定位 176
9.2.4 鎖定檔案 178
9.3 目錄操作技術 178
9.3.1 打開目錄 178
9.3.2 讀取目錄 178
9.3.3 建立目錄 179
9.3.4 刪除目錄 179
9.3.5 改變目錄 180
9.3.6 關閉目錄 180
9.4 檔案上傳和下載技術 180
9.4.1 開啟PHP檔案上傳功能 180
9.4.2 POST方法上傳檔案 181
9.4.3 上傳多個檔案 182
9.4.4 生成臨時檔案 183
9.4.5 下載檔案 183
9.5 本章小結 184
第10章 圖像處理技術 185
10.1 GD函式館的概述 186
10.1.1 Windows下打開GD2函式館支持 186
10.1.2 Linux下打開GD2函式館支持 186
10.1.3 GD2函式館支持的圖片格式 187
10.1.4 套用GD2函式創建圖像 188
10.2 基本的圖像處理技術 188
10.2.1 創建畫布 188
10.2.2 設定顏色 189
10.2.3 生成圖像 190
10.2.4 銷毀圖像 191
10.2.5 繪製點與線 191
10.2.6 繪製幾何圖形 192
10.2.7 填充幾何圖形 194
10.2.8 輸出文字 197
10.3 動態創建圖像 199
10.3.1 套用圖像處理技術生成驗證碼 199
10.3.2 套用圖像處理技術生成餅形圖 201
10.3.3 套用圖像處理技術生成柱形圖 202
10.3.4 套用圖像處理技術生成折線圖 204
10.4 本章小結 206
第11章 Cookie和會話控制 207
11.1 概述 208
11.1.1 Cookie概述 208
11.1.2 會話控制 208
11.2 Cookie的操作 208
11.2.1 設定Cookie 208
11.2.2 訪問Cookie 209
11.2.3 刪除Cookie 209
11.2.4 Cookie數組 210
11.3 Cookie的套用 211
11.4 會話的操作 212
11.4.1 會話的基本方式 212
11.4.2 配置PHP的會話 213
11.4.3創建會話213
11.5 會話的套用 215
11.5.1 登錄驗證 215
11.5.2 通過Session禁用頁面刷新 217
11.6 本章小結 218
第12章 面向對象 219
12.1 概述 220
12.1.1 面向對象的概念 220
12.1.2 面向對象語言的3大特點 220
12.1.3 PHP 5.0面向對象的新特性 221
12.2 類和對象 221
12.2.1 類的結構及聲明方式 221
12.2.2 屬性和方法的定義 221
12.2.3 使用構造函式 222
12.2.4 使用析構函式 223
12.2.5 類的實例化 223
12.3 控制訪問許可權 224
12.4 類的繼承和重載 224
12.4.1 繼承的概念 224
12.4.2 PHP中實現繼承的方法 224
12.4.3 重載的概念 225
12.4.4 PHP中實現類重載的方法 225
12.4.5 用final關鍵字對繼承和重載進行限制 225
12.5 接口 226
12.5.1 接口的概念 226
12.5.2 PHP實現接口 227
12.6 PHP面向對象新特性 227
12.6.1 Per-Class常量的套用 227
12.6.2 對象的克隆 227
12.6.3 __autoload()方法 228
12.6.4 使用instanceof關鍵字判斷實例類型 228
12.6.5 使用this關鍵字調用類成員 228
12.6.6 使用parent關鍵字調用父類成員 229
12.6.7 使用self關鍵字調用類體中的靜態成員229
12.6.8 輔助函式 230
12.7 PHP中面向對象的套用 234
12.7.1 套用面向對象的方式實現用戶身份驗證 234
12.7.2 數據的分頁顯示 235
12.8 本章小結 237
第13章 MySQL資料庫 238
13.1 MySQL概述 239
13.1.1 MySQL的特點 239
13.1.2 SQL和MySQL 239
13.2 MySQL伺服器的啟動和關閉 240
13.2.1 啟動MySQL伺服器 240
13.2.2 連線MySQL伺服器 241
13.2.3 關閉MySQL伺服器 241
13.3 運算元據庫 242
13.3.1 創建資料庫 242
13.3.2 選擇資料庫 243
13.3.3 刪除資料庫 243
13.4 運算元據表 243
13.4.1 創建表 244
13.4.2 修改表 245
13.4.3 刪除表 245
13.5 運算元據 246
13.5.1 添加語句(INSERT) 246
13.5.2 修改語句(UPDATE) 247
13.5.3 刪除語句(DELETE) 247
13.5.4 批量增加記錄語句(LOAD DATA和MySQLIMPORT) 247
13.6 數據查詢語句 248
13.6.1 運用SELECT查詢(對數據表的選擇) 248
13.6.2 WHERE條件語句的套用 249
13.6.3 GROUP BY對結果分組 250
13.6.4 DISTINCT在結果中去除重複行 250
13.6.5 ORDER BY對結果排序 250
13.6.6 LIKE套用 251
13.6.7concat聯合多列 251
13.6.8 LIMIT限定結果行數 252
13.6.9 使用函式和表達式 252
13.7 數據類型 253
13.7.1 數字類型 253
13.7.2 字元串類型 254
13.7.3 日期和時間數據類型 255
13.8 phpMyAdmin圖形化管理工具 256
13.8.1 庫級操作 256
13.8.2 表級操作 257
13.8.3 增刪改數據 258
13.8.4 查詢數據 259
13.8.5 數據的導入與導出 260
13.9 本章小結 262
第14章 資料庫編程技術 263
14.1 PHP操縱MySQL資料庫 264
14.1.1 建立與MySQL資料庫的連線 264
14.1.2 選擇和使用MySQL資料庫 264
14.1.3 執行SQL指令 265
14.1.4 分析結果集 265
14.1.5 斷開與MySQL資料庫的連線 266
14.2 管理MySQL資料庫中的數據 267
14.2.1 向資料庫中添加數據 267
14.2.2 編輯資料庫數據 268
14.2.3 從資料庫中刪除數據 270
14.2.4 批量數據操作 272
14.3 對MySQL表的查詢 273
14.3.1 通用查詢 273
14.3.2 高級查詢 275
14.3.3 分組統計 276
14.3.4 對查詢結果分頁顯示 278
14.4 本章小結 279
第15章 PHP的調試與解決方案 281
15.1 基本調試策略 282
15.2 常見錯誤分析 282
15.2.1 語法錯誤 282
15.2.2 運行錯誤 285
15.2.3 邏輯錯誤 287
15.3 PHP.INI中的錯誤處理設定 288
15.4 程式調試 289
15.4.1 套用DIE語句調試 289
15.4.2 套用PRINT語句調試 290
15.4.3 套用mysql_error()語句輸出錯誤信息 290
15.5 MySQL的常見錯誤 291
15.5.1 PHP與MySQL連線錯誤 292
15.5.2 解決資料庫亂碼問題 292
15.5.3 上傳二進制數據到資料庫失敗 293
15.6 本章小結 295
第3篇 實例篇
第16章 註冊和登錄 299
16.1 設計思路 300
16.1.1 功能闡述 300
16.1.2 程式業務流程 300
16.1.3 檔案組織結構 300
16.2 資料庫設計 301
16.3 連線資料庫 302
16.3.1 關鍵函式 302
16.3.2 功能實現 303
16.4 用戶註冊模組 303
16.4.1 關鍵函式 303
16.4.2 頁面設計 304
16.4.3 功能實現 305
16.5 檢測用戶是否被占用 306
16.5.1 關鍵函式 306
16.5.2 頁面設計 307
16.5.3 功能實現 308
16.6 驗證用戶註冊信息是否合法 309
16.6.1 關鍵函式 309
16.6.2 功能實現 309
16.7 用戶登錄 310
16.7.1 關鍵函式 310
16.7.2 頁面設計 311
16.7.3 功能實現 312
16.8 圖片驗證碼功能 313
16.8.1 關鍵函式介紹 313
16.8.2 頁面設計 315
16.8.3 功能實現 315
16.9 退出登錄功能 316
16.9.1 關鍵函式 316
16.9.2 功能實現 316
16.10 本章小節 316
第17章 留言本 317
17.1 設計思路 318
17.1.1 功能闡述 318
17.1.2 程式業務流程 318
17.1.3 檔案組織結構 319
17.2 資料庫設計 320
17.3 連線資料庫 321
17.3.1 關鍵函式介紹 321
17.3.2 功能實現 322
17.4 添加留言模組 322
17.4.1 關鍵函式 322
17.4.2 頁面設計 322
17.4.3 功能實現 324
17.5 查看留言模組 325
17.5.1 關鍵函式 325
17.5.2 頁面設計 325
17.5.3 功能實現 325
17.6 修改留言模組 327
17.6.1 關鍵函式 327
17.6.2 頁面設計 328
17.6.3 功能實現 329
17.7 刪除留言模組 330
17.7.1 關鍵函式 330
17.7.2 頁面設計 331
17.7.3 功能實現 331
17.8 查詢留言模組 332
17.8.1 關鍵函式 332
17.8.2 頁面設計 332
17.8.3 功能實現 333
17.9 本章小結 334
第18章 論壇 335
18.1 系統設計思路 336
18.1.1 功能闡述 336
18.1.2 程式業務流程 336
18.1.3 檔案組織結構 336
18.2 系統的資料庫設計 337
18.3 用戶註冊模組 338
18.3.1 關鍵函式 338
18.3.2 頁面設計 339
18.3.3 功能實現 341
18.4 用戶登錄模組 342
18.4.1 關鍵函式 342
18.4.2 頁面設計 343
18.4.3 功能實現 343
18.5 帖子分類管理模組 344
18.5.1 關鍵函式 344
18.5.2 頁面設計 345
18.5.3 功能實現 345
18.6 查看帖子模組 348
18.6.1 關鍵函式 348
18.6.2 頁面設計 348
18.6.3 功能實現 349
18.7 發帖模組 350
18.7.1 關鍵函式 350
18.7.2 頁面設計 351
18.7.3 功能實現 352
18.8 回帖模組 353
18.8.1 關鍵函式 353
18.8.2 頁面設計 353
18.8.3 功能實現 354
18.9 註銷用戶 355
18.9.1 關鍵函式 355
18.9.2 功能實現 355
18.10 後台管理模組 355
18.10.1 關鍵函式 355
18.10.2 頁面設計 356
18.10.3 功能實現 357
18.11 本章小結 358
第19章 聊天室 359
19.1 系統設計思路 360
19.1.1 功能闡述 360
19.1.2 程式業務流程 360
19.1.3 檔案組織結構 360
19.2 系統的資料庫設計 361
19.3 用戶登錄的設計 362
19.3.1 關鍵函式 362
19.3.2 頁面設計 362
19.3.3 功能實現 362
19.4 聊天室框架的設計 363
19.4.1 關鍵函式 363
19.4.2 頁面設計 365
19.4.3 功能實現 365
19.5 顯示線上用戶 366
19.5.1 關鍵函式 366
19.5.2 頁面設計 366
19.5.3 功能實現 366
19.6 傳送聊天信息 367
19.6.1 關鍵函式 367
19.6.2 頁面設計 368
19.6.3 功能實現 368
19.7 私聊的實現 369
19.7.1 關鍵函式 369
19.7.2 頁面設計 369
19.7.3 功能實現 370
19.8 顯示聊天信息 371
19.8.1 關鍵函式 371
19.8.2 頁面設計 371
19.8.3 功能實現 372
19.9 退出聊天室 372
19.9.1 關鍵函式 372
19.9.2 功能實現 372
19.10 本章小結 373
第20章 郵件收發系統 374
20.1 系統設計思路 375
20.1.1 功能闡述 375
20.1.2 系統業務流程 375
20.1.3 檔案組織結構 376
20.2 系統的配置需求 376
20.2.1 SMTP的安裝和配置 376
20.2.2 POP3的安裝和配置 379
20.3 用戶登錄 381
20.3.1 關鍵函式 381
20.3.2 頁面設計 382
20.3.3 功能實現 384
20.4 傳送帶附屬檔案的E-mail 385
20.4.1 關鍵函式 385
20.4.2 頁面設計 386
20.4.3 功能實現 387
20.5 收郵件 389
20.5.1 關鍵函式 389
20.5.2 頁面設計 390
20.5.3 功能實現 391
20.6 查找郵件 393
20.6.1 關鍵函式 393
20.6.2 頁面設計 394
20.6.3 功能實現 395
20.7 查看郵件 396
20.7.1 關鍵函式 396
20.7.2 頁面設計 398
20.7.3 功能實現 398
20.8 刪除郵件 400
20.8.1 關鍵函式 400
20.8.2 頁面設計 401
20.8.3 功能實現 401
20.9 註銷郵件 402
20.9.1 關鍵函式 402
20.9.2 功能實現 402
20.10 本章小結 403
第21章 電子商務 404
21.1 需求分析 405
21.2 系統分析和設計 405
21.2.1 可行性分析 405
21.2.2 功能結構分析和設計 405
21.2.3 系統流程概述 406
21.2.4 開發環境 407
21.3 資料庫設計 407
21.3.1 資料庫的分析 408
21.3.2 創建資料庫 408
21.3.3 創建數據表 408
21.3.4 數據表的結構 408
21.4 技術準備 411
21.3.1 代碼書寫規則 411
21.4.2 網站架設之初 411
21.4.3 檔案管理規劃 412
21.5 前台開發 412
21.5.1 設計分析 412
21.5.2 前台首頁的實現 412
21.5.3 商品展示模組的實現 415
21.5.4 購物車的實現 418
21.5.5 收銀台的實現 421
21.5.6 用戶登錄模組的實現 422
21.5.7 本站公告模組的實現 430
21.6 後台開發 431
21.6.1 設計分析 431
21.6.2 後台首頁 431
21.6.3 後台登錄模組 433
21.6.4 商品信息管理模組 435
21.6.5 簡訊管理模組 439
21.6.6 訂單信息管理模組 441
21.7 電子商務完整清單 444
21.8 本章小結 445