PHP網路編程自學手冊

PHP網路編程自學手冊

《PHP網路編程自學手冊》是由作者鄒天思、潘凱華、劉中華編著,人民郵電出版社出版的一本書籍。

基本信息

內容介紹

本書從初學者角度出發,通過通俗易懂的語言和大量生動典型的實例,由淺入深、循序漸進地介紹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

相關詞條

相關搜尋

熱門詞條

聯絡我們