零基礎學PHP(2012年機械工業出版社出版圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《零基礎學PHP》是2012年機械工業出版社出版的圖書。

編輯推薦,目錄,
出版社: 機械工業出版社; 第2版 (2012年3月31日)
叢書名: 零基礎學編程
平裝: 430頁
語種: 簡體中文
開本: 16
ISBN: 9787111372868, 7111372867
條形碼: 9787111372868
商品尺寸: 26.6 x 19.4 x 3.8 cm
商品重量: 821 g
品牌: 機械工業出版社

編輯推薦

《零基礎學PHP(第2版)》既包含Web開發的基礎內容,又重點介紹PHP語言、PHP函式、MySQL和PHP的套用、PHP的各類高級特性等。對每一個知識點的講解都遵循闡述通俗易懂、詳盡細緻的原則。另外,《零基礎學PHP(第2版)》通過簡單和複雜程度中等的示例或實例講解這些內容,在為每個知葛煉擔識點或函式套用舉例時,儘可能使實例既簡明典型又能說明問題,不但滿足初學者入門的需要,也烏晚對初學者快速提高有所幫助。
《零基礎學PHP(第2版)》敘述清晰,內容全面,是喇坑挨PHP初學者不可多得的入門書籍之一。對有一定開發經驗的PHP開發人員來說,《零基礎學PHP(第2版)(附DVD光碟1張)》也是一本相當實用的參考書。

目錄

前言
第一篇 PHP技術基礎
第1章 PHP起步 1
1.1 初識PHP 1
1.2 LAMP—鋒利四劍客:Linux、Apache、MySQL和PHP 2
1.3 PHP Web編程的體系結構和騙兵再基本內容 3
1.3.1 了她承頌解PHP、HTML、層疊樣式表(CSS)和JavaScript及其關係 3
1.3.2 HTML文檔 3
1.3.3 使用樣式表實現頁面效果 4
1.3.4 客戶端的回響 4
1.3.5 嵌入式腳本頁面 4
1.4 Web編程的基礎知識之一:HTML 5
1.4.1 HTTP協危踏促跨議簡介 5
1.4.2 HTML基礎知識:標籤 5
1.4.3 HTML基礎知識:元素 6
1.4.4 HTML基礎知識:HTML的基本元素 7
1.4.5 創建HTML文檔 12
1.4.6 創建HTML列表 13
1.4.7 創建頁面表格 15
1.4.8 創建頁面表單 16
1.5 Web編程的基礎知識之二:層疊樣式表(CSS)簡介 16
1.5.1 樣式表的基本語法 17
1.5.2 設定頁面字型格式 17
1.5.3 設定頁面顏色和背景 19
1.5.4 處理頁面的邊距和填充 19
1.5.5 理解HTML層的概念 20
1.5.6 按Web標準建立網頁 20
1.5.7 在網頁中引入樣式表 20
1.6 Web編程的基礎知識之三:JavaScript基礎 21
1.6.1 網頁中的JavaScript 21
1.6.2 JavaScript的變數 22
1.6.3 JavaScript的基本語句 23
1.6.4 使用簡單的對話框 27
1.6.5 JavaScript的基本事件 28
1.6.6 JavaScript的函式 28
1.6.7 JavaScript的對象 30
1.6.8 JavaScript中的cookie 33
1.7 開始PHP之旅:搭建PHP開發環境 37
1.7.1 下載Apache、MySQL和PHP 37
1.7.2 在Windows下配置開發環境 38
1.7.3 在Linux/UNIX下配置開發環境 40
1.7.4 善其事利其器—PHP編輯器的選擇 42
1.8 立竿見影 43
1.8.1 編寫第一個PHP程式—“Hello,PHP!” 44
1.8.2 使用PHP處理HTML表單 44
1.9 深入了解Apache、PHP和MySQL 45
1.9.1 Apache伺服器目錄 45
1.9.2 進行基本的Apache配置 46
1.9.3 Apache的啟動與停止 47
1.9.4 PHP的核心配置——php.ini 47
1.9.5 PHP檔案上傳功能的配置 47
1.9.6 PHP中session的配置 48
1.9.7 PHP中和電子郵件有關的配置 48
1.9.8 PHP基本的安全設定 48
1.9.9 MySQL資料庫系統的啟動與關閉 48
1.9.10 MySQL對數據的存儲 49
1.10 實例:使用JavaScript驗證HTML表單數據 49
1.11 小結 54
1.12 上機實踐 54
第2章 PHP語言 55
2.1 基礎語法 55
2.1.1 PHP分隔設定 55
2.1.2 給PHP程式添加注釋 56
2.2 變數 57
2.2.1 什辯糠蒸催么是變數 57
2.2.2 變數的數據類型 57
2.2.3 變數類型的轉換 61
2.2.4 可變變數 62
2.2.5 PHP的預定義變數 62
2.2.6 判斷變數的類型 63
2.2.7 獲取變數的類型 64
2.2.8 設定變數的類型 64
2.2.9 判斷一個變數是否已經定義 65
2.2.10 刪除一個變數 65
2.3 常量 65
2.3.1 什麼是常量 66
2.3.2 定義常量 66
2.3.3 使用PHP預定義常量 66
2.4 表達式 67
2.5 運算符 68
2.5.1 賦值運算符 68
2.5.2 算術運算符 69
2.5.3 遞增/遞減運算符 69
2.5.4 字元串運算符 70
2.5.5 邏輯運算符 71
2.5.6 比較運算符 72
2.5.7 運算符的優先權 72
2.6 PHP程式的流程控制 72
2.6.1 程式流程控制概述 73
2.6.2 條件控制語句:if和if...else語句 73
2.6.3 switch結構 76
2.6.4 循環控制語句:for循環語句 77
2.6.5 while循環語句 79
2.6.6 do...while循環語句 79
2.6.7 break和continue語句 80
2.6.8 條件運算符:? : 81
2.7 函式 82
2.7.1 PHP中函式的概念 82
2.7.2 定義函式和調用函式 82
2.7.3 函式的參數和函式的返回值 83
2.7.4 PHP函式的傳值與傳址 85
2.7.5 函式和變數作用域 87
2.8 小結 88
2.9 上機實踐 89
第3章 用PHP進行Web編程 90
3.1 PHP的Web編程基礎 90
3.1.1 訪問和獲取HTML表單數據 90
3.1.2 用PHP處理表單數據 92
3.1.3 用PHP驗證表單數據有效性 93
3.1.4 PHP中的session 94
3.1.5 PHP中的檔案上傳處理 95
3.2 實例:用PHP開發一個簡單的網站 97
3.2.1 網站功能設計 97
3.2.2 頁面設計 98
3.2.3 用JavaScript實現客戶端回響 98
3.2.4 伺服器端用PHP處理請求 99
3.3 小結 102
3.4 上機實踐 102
第二篇 PHP數據處理
第4章 PHP對數組的處理 103
4.1 建立數組的方法 103
4.2 輸出數組元素的方法 104
4.2.1 使用for循環語句輸出數組元素 104
4.2.2 使用foreach循環語句輸出數組元素 105
4.2.3 使用函式print_r()顯示數組元素 106
4.3 計算數組元素個數 107
4.4 對數組進行分割、合併 108
4.4.1 實現數組分割 108
4.4.2 實現數組合併 109
4.5 處理數組元素和鍵值位置 109
4.6 對數組進行排序 111
4.6.1 使用函式sort()對數組進行排序 111
4.6.2 使用函式rsort()對數組進行逆向排序 112
4.6.3 排序時保持原數組的索引 113
4.6.4 數組的隨機排序 114
4.6.5 數組的反向排序 115
4.7 重置一個數組 116
4.8 用數組對變數賦值 117
4.9 快速創建數組 118
4.10 壓入和彈出數組元素 118
4.10.1 壓入數組元素 118
4.10.2 彈出數組元素 119
4.11 改變數組字元索引名的大小寫 120
4.12 對數組的集合處理 121
4.13 交換數組索引和元素 123
4.14 快速填充數組元素 124
4.15 統計數組元素出現次數 124
4.16 檢查數組索引是否存在 125
4.17 取得數組中的所有索引 126
4.18 用回調函式處理數組 127
4.19 其他數組處理函式 128
4.19.1 判斷某個值是否存在於數組 128
4.19.2 獲取數組中當前單元的索引值 129
4.20 小結 130
4.21 上機實踐 130
第5章 PHP對字元串的處理 132
5.1 對字元串做分割和合併 132
5.2 對字元串做比較和替換 133
5.2.1 比較兩個字元串大小 134
5.2.2 字元串的替換 134
5.3 輸出列印字元串 136
5.4 格式化字元串 136
5.5 獲取字元串中的一個子串 138
5.6 刪除字元串末尾部分的空白字元 139
5.7 刪除字元串開始部分的空白字元 140
5.8 刪除字元串兩頭的空白字元 140
5.9 獲取字元串的長度 142
5.10 對字元串做大小寫轉換 142
5.11 處理含有HTML標記的字元串 143
5.12 多次生成一個字元串 144
5.13 將字元串分析到變數 146
5.14 轉換字元串到數組 147
5.15 計算字元串的散列 148
5.16 小結 149
5.17 上機實踐 150
第6章 用PHP操作目錄和檔案 151
6.1 目錄操作 151
6.1.1 打開和關閉目錄 151
6.1.2 獲取目錄中下一個檔案的檔案名稱 152
6.1.3 列出某一目錄下的所有檔案 152
6.1.4 獲取和改變PHP的當前工作目錄 153
6.2 檔案操作 154
6.2.1 打開和關閉檔案 154
6.2.2 讀出檔案的內容 155
6.2.3 向檔案寫入內容 157
6.2.4 獲取檔案的相關信息 158
6.2.5 一些判斷檔案性質的函式 159
6.2.6 獲取路徑中的檔案名稱和目錄名 160
6.2.7 判斷檔案或目錄是否存在 161
6.2.8 用PHP建立目錄和刪除目錄 162
6.2.9 用PHP複製、刪除和移動檔案 163
6.2.10 用PHP處理檔案的鎖定 164
6.2.11 用PHP更改檔案的屬性 165
6.2.12 獲取檔案時間屬性 165
6.2.13 通過HTTP協定打開檔案 166
6.2.14 包含指定的檔案到當前檔案 167
6.3 小結 169
6.4 上機實踐 169
第7章 用PHP處理日期和時間 171
7.1 獲取格式化的日期和時間 171
7.2 處理UNIX時間戳 173
7.3 獲取日期和時間的相關信息 174
7.4 PHP中的日期計算 175
7.5 檢查日期的有效性 175
7.6 小結 176
7.7 上機實踐 177
第8章 PHP中對URL、HTTP的處理 178
8.1 URL地址分析 178
8.1.1 為什麼要對URL進行處理 178
8.1.2 對URL進行編碼 178
8.1.3 對URL進行解碼 179
8.1.4 對URL地址進行分析 180
8.2 HTTP套用 181
8.2.1 生成一個HTTP頭 181
8.2.2 獲取HTTP頭信息 183
8.3 在PHP中生成cookie 183
8.3.1 生成cookie 183
8.3.2 獲取cookie 184
8.3.3 cookie的有效期 185
8.3.4 cookie的有效路徑 185
8.3.5 刪除cookie 186
8.4 小結 186
8.5 上機實踐 186
第9章 PHP中的數學運算 188
9.1 常見的數學運算 188
9.2 不同進制之間的數字轉換 189
9.3 生成隨機數 190
9.4 小結 191
9.5 上機實踐 191
第10章 用PHP獲取系統信息 192
10.1 獲取和添加PHP環境變數 192
10.2 查看被載入的PHP擴展模組 194
10.3 獲取PHP的當前各類信息 194
10.4 獲取當前PHP進程的進程號和所有者 195
10.5 小結 196
10.6 上機實踐 196
第11章 套用實踐一:基於文本的簡易BLOG系統 197
11.1 系統功能設計 197
11.2 系統功能實現 198
11.2.1 數據的存儲及系統架構 198
11.2.2 實現BLOG文章的顯示 199
11.2.3 完善用戶界面 201
11.2.4 實現BLOG文章的添加功能 206
11.2.5 實現登錄功能 210
11.2.6 實現BLOG首頁 213
11.2.7 實現BLOG文章的編輯功能 217
11.2.8 實現BLOG文章的刪除功能 220
11.2.9 實現BLOG歸檔顯示的功能 223
11.2.10 實現BLOG的退出功能 227
11.3 小結 228
11.4 上機實踐 228
第三篇 PHP和MySQL資料庫
第12章 MySQL資料庫和SQL基礎 229
12.1 MySQL資料庫簡介 229
12.2 MySQL資料庫的基本操作 230
12.2.1 表、欄位、記錄和鍵的概念 230
12.2.2 登錄和退出MySQL 230
12.2.3 建立和刪除資料庫 231
12.2.4 表的建立 232
12.2.5 建立索引 233
12.3 MySQL中的SQL語法基礎 234
12.3.1 查看錶結構 234
12.3.2 插入數據 234
12.3.3 查詢數據 235
12.3.4 條件查詢 236
12.3.5 更新數據 237
12.3.6 刪除數據 237
12.3.7 對查詢結果做排序 238
12.3.8 對查詢結果做分組 238
12.3.9 對查詢結果做限定 239
12.3.10 MySQL的數據類型 240
12.3.11 MySQL運算符 240
12.3.12 MySQL中的模式匹配 241
13.3.13 使用MySQL函式 241
12.4 小結 244
12.5 上機實踐 245
第13章 使用PHP操作MySQL資料庫 246
13.1 操作MySQL的PHP函式 246
13.1.1 連線和關閉資料庫的函式 246
13.1.2 執行SQL語句的函式 247
13.1.3 處理查詢結果集的函式 247
13.1.4 獲取欄位信息的函式 248
13.1.5 資料庫操作的其他函式 248
13.2 使用PHP連線MySQL資料庫 249
13.2.1 建立和資料庫的連線 249
13.2.2 持久連線和臨時連線 250
13.2.3 關閉連線 250
13.3 使用PHP顯示MySQL資料庫的數據 251
13.3.1 在PHP執行SQL語句 251
13.3.2 用PHP處理數據結果集 253
13.3.3 向Web頁面顯示數據 255
13.3.4 數據分頁顯示的原理及實現 257
13.4 使用PHP維護MySQL資料庫的數據 260
13.4.1 從頁面獲取數據並插入資料庫 260
13.4.2 根據表單內容修改資料庫數據 262
13.4.3 通過PHP刪除資料庫數據 264
13.5 PHP操作MySQL常見錯誤信息及分析 267
13.6 小結 268
13.7 上機實踐 269
第四篇 更上一層樓—PHP進階
第14章 面向對象的PHP編程 271
14.1 面向對象編程的基本概念 271
14.2 PHP中的類和對象 272
14.2.1 類的創建 273
14.2.2 類的實例化—對象 274
14.2.3 構造函式和析構函式 275
14.2.4 繼承 277
14.2.5 訪問對象的屬性和方法 278
14.2.6 PHP中類的靜態成員 279
14.2.7 PHP中一些和類有關的函式 280
14.3 實例分析—深入理解PHP的類和對象 284
14.4 小結 288
14.5 上機實踐 289
第15章 PHP中的正則表達式 290
15.1 什麼是正則表達式 290
15.2 正則表達式的語法 291
15.2.1 模式 291
15.2.2 元字元 292
15.2.3 轉義字元 293
15.2.4 字元類 293
15.2.5 反義 294
15.2.6 數量匹配限定符 294
15.2.7 正則表達式構建實例 295
15.3 PHP中的POSIX 擴展正則表達式函式 295
15.3.1 正則表達式匹配函式 296
15.3.2 替換匹配字元串的函式 298
15.3.3 根據正則表達式分割字元串的函式 299
15.3.4 生成正則表達式的函式 300
15.4 PHP中的PERL兼容正則表達式函式 301
15.4.1 PERL兼容正則表達式中的修正符 301
15.4.2 返回與模式匹配的數組單元的正則表達式函式 302
15.4.3 進行正則表達式匹配的函式 304
15.4.4 進行全局正則表達式匹配的函式 305
15.4.5 執行正則表達式的搜尋和替換的函式 306
15.4.6 用正則表達式分割字元串的函式 307
15.5 幾例常見正則表達式分析 308
15.5.1 檢查IP位址的正則表達式 308
15.5.2 檢查中文字元的正則表達式 310
15.5.3 檢查Email地址的正則表達式 311
15.5.4 檢查URL地址的正則表達式 313
15.6 小結 314
15.7 上機實踐 314
第16章 PHP程式中的錯誤處理 316
16.1 重視程式中的錯誤處理 316
16.2 在PHP中處理程式錯誤 316
16.2.1 語法錯誤的處理 317
16.2.2 運行時錯誤的處理 317
16.2.3 邏輯錯誤的處理 318
16.3 PHP中的異常處理類及其用法 319
16.3.1 PHP中的異常處理類 319
16.3.2 PHP程式中捕獲異常的方法 320
16.3.3 獲取異常信息的函式 321
16.3.4 獲取錯誤發生所在檔案的函式 323
16.3.5 獲取錯誤發生所在行的函式 323
16.4 PHP配置中和錯誤處理有關的內容 324
16.5 PHP中自定義的錯誤處理 325
16.6 小結 326
16.7 上機實踐 326
第17章 PHP與XML 328
17.1 什麼是XML 328
17.2 建立一個簡單的XML檔案 329
17.3 深入認識XML文檔 331
17.3.1 XML聲明 331
17.3.2 XML元素 332
17.3.3 標記和屬性 333
17.3.4 注釋 334
17.3.5 處理指令 335
17.3.6 實體簡介 335
17.3.7 檔案類型定義(DTD) 336
17.4 在PHP中建立對XML的支持 338
17.5 用PHP函式處理XML文檔 339
17.5.1 XML解析器的建立和釋放 340
17.5.2 處理XML元素的函式 340
17.5.3 處理XML字元數據的函式 341
17.5.4 解析一個XML文檔 341
17.5.5 完整實例分析 341
17.6 使用SimpleXML處理XML 343
17.6.1 SimpleXML簡介 343
17.6.2 載入XML檔案的函式 344
17.6.3 載入XML字元串的函式 345
17.6.4 使用SimpleXML的實例 346
17.7 使用PHP的DOM庫處理XML文檔 347
17.8 小結 349
17.9 上機實踐 349
第18章 PHP與AJAX 351
18.1 什麼是AJAX 351
18.2 AJAX的工作原理 351
18.3 PHP與AJAX 352
18.3.1 創建XMLHttpRequest對象 352
18.3.2 傳送異步請求 354
18.3.3 編寫回調函式 356
18.3.4 完整實例 357
18.4 一個實現AJAX的PHP類—xajax 361
18.4.1 下載和安裝xajax 361
18.4.2 xajax簡介 361
18.4.3 在PHP程式中使用xajax 362
18.4.4 xajax套用實例 363
18.5 小結 364
18.6 上機實踐 365
第19章 PHP與圖像處理 366
19.1 PHP的圖像處理庫—GD庫 366
19.1.1 安裝GD庫 366
19.1.2 主要圖像處理函式介紹 367
19.2 圖像的建立 368
19.2.1 用PHP生成圖像 368
19.2.2 設定圖像顏色 368
19.2.3 在圖像上繪製直線 369
19.2.4 在圖像上輸出文字 370
19.3 圖片處理 372
19.3.1 打開已經存在的圖片 372
19.3.2 獲取圖片的相關屬性 373
19.3.3 對圖片加水印效果 375
19.3.4 生成已有圖片的縮略圖 379
19.4 實例:生成帶有底紋的數字驗證碼圖片 381
19.5 小結 382
19.6 上機實踐 383
第20章 PHP與MVC開發模式 384
20.1 什麼是MVC模型 384
20.2 MVC模型的組成 385
20.2.1 控制器(Controller) 385
20.2.2 數據模型(Model) 385
20.2.3 視圖(View) 386
20.3 PHP開發中的模板技術 386
20.3.1 什麼是模板 386
20.3.2 在PHP程式中使用模板 386
20.3.3 Smarty模板引擎介紹 387
20.3.4 Smarty模板引擎的使用 388
20.4 常見的基於MVC的PHP開發框架簡介 389
20.4.1 CodeIgniter 389
20.4.2 CakePHP 390
20.4.3 Zend Framework 390
20.4.4 FleaPHP 391
20.5 CodeIgniter框架套用 391
20.5.1 CodeIgniter的技術特點介紹 392
20.5.2 安裝CodeIgniter 392
20.5.3 CodeIgniter的Controller(控制器) 393
20.5.4 CodeIgniter的Model(數據模型) 395
20.5.5 CodeIgniter的View(視圖) 395
20.6 小結 398
20.7 上機實踐 398
第五篇 PHP套用實例與常見面試題
第21章 套用實踐二:用PHP傳送郵件 399
21.1 mail()函式和SMTP協定簡介 399
21.1.1 mail()函式配置與語法 399
21.1.2 SMTP協定與指令 400
21.2 功能設計和實現 400
21.2.1 設計一個傳送郵件的類 401
21.2.2 測試傳送郵件功能 405
21.2.3 傳送郵件的表單及程式實現 405
21.3 小結 408
第22章 常見面試題 409
面試題1 數組函式arsort()的作用是什麼 409
面試題2 簡述include 和require語句的區別 409
面試題3 寫出的輸出結果 409
面試題4 如何實現字元串翻轉 409
面試題5 說出echo、print()、print_r() 3個函式的區別 409
面試題6 寫出顯示客戶端IP與伺服器端IP的代碼 409
面試題7 SQL中LEFT JOIN是什麼意思 410
面試題8 如何修改session的生存時間 410
面試題9 寫一個能夠遍歷一個資料夾下所有檔案和子資料夾的函式 411
面試題10 寫一個過濾網頁上所有JS/VBS腳本的正則表達式 411
面試題11 PHP中字元串的表現形式有哪些 411
面試題12 談談你對MVC的認識 412
面試題13 sort()、asort ()和ksort()有什麼區別 412
面試題14 說出以下代碼的輸出結果(變數的作用域) 412
面試題15 以下哪個函式可打開檔案並且能讀/寫檔案信息 412
面試題16 寫一個函式驗證電子郵件的格式 413
面試題17 使用PHP寫一段簡單查詢 413
面試題18 寫出PHP5許可權控制修飾符 413
面試題19 說明PHP中傳值與傳引用的區別 414
面試題20 從一個標準URL里取出檔案的擴展名 414
面試題21 用PHP列印出前一天的時間,格式是2011-05-10 22:21:21 414
面試題22 你一般使用哪些工具進行版本控制 414
面試題23 最佳化MySQL資料庫的方法 414
面試題24 創建vote表用於記錄單選投票用戶的數據 415
面試題25 投票人數太多導致網站出現too many connection錯誤,請提供解決方案 415
面試題26 session與cookie的區別 415
附錄A 配置Eclipse成為PHP開發工具 416
附錄B 正則表達式參考 420
附錄C PHP代碼編寫的一般規則 423
附錄D 使用phpMyAdmin管理MySQL資料庫 426
1.6.2 JavaScript的變數 22
1.6.3 JavaScript的基本語句 23
1.6.4 使用簡單的對話框 27
1.6.5 JavaScript的基本事件 28
1.6.6 JavaScript的函式 28
1.6.7 JavaScript的對象 30
1.6.8 JavaScript中的cookie 33
1.7 開始PHP之旅:搭建PHP開發環境 37
1.7.1 下載Apache、MySQL和PHP 37
1.7.2 在Windows下配置開發環境 38
1.7.3 在Linux/UNIX下配置開發環境 40
1.7.4 善其事利其器—PHP編輯器的選擇 42
1.8 立竿見影 43
1.8.1 編寫第一個PHP程式—“Hello,PHP!” 44
1.8.2 使用PHP處理HTML表單 44
1.9 深入了解Apache、PHP和MySQL 45
1.9.1 Apache伺服器目錄 45
1.9.2 進行基本的Apache配置 46
1.9.3 Apache的啟動與停止 47
1.9.4 PHP的核心配置——php.ini 47
1.9.5 PHP檔案上傳功能的配置 47
1.9.6 PHP中session的配置 48
1.9.7 PHP中和電子郵件有關的配置 48
1.9.8 PHP基本的安全設定 48
1.9.9 MySQL資料庫系統的啟動與關閉 48
1.9.10 MySQL對數據的存儲 49
1.10 實例:使用JavaScript驗證HTML表單數據 49
1.11 小結 54
1.12 上機實踐 54
第2章 PHP語言 55
2.1 基礎語法 55
2.1.1 PHP分隔設定 55
2.1.2 給PHP程式添加注釋 56
2.2 變數 57
2.2.1 什麼是變數 57
2.2.2 變數的數據類型 57
2.2.3 變數類型的轉換 61
2.2.4 可變變數 62
2.2.5 PHP的預定義變數 62
2.2.6 判斷變數的類型 63
2.2.7 獲取變數的類型 64
2.2.8 設定變數的類型 64
2.2.9 判斷一個變數是否已經定義 65
2.2.10 刪除一個變數 65
2.3 常量 65
2.3.1 什麼是常量 66
2.3.2 定義常量 66
2.3.3 使用PHP預定義常量 66
2.4 表達式 67
2.5 運算符 68
2.5.1 賦值運算符 68
2.5.2 算術運算符 69
2.5.3 遞增/遞減運算符 69
2.5.4 字元串運算符 70
2.5.5 邏輯運算符 71
2.5.6 比較運算符 72
2.5.7 運算符的優先權 72
2.6 PHP程式的流程控制 72
2.6.1 程式流程控制概述 73
2.6.2 條件控制語句:if和if...else語句 73
2.6.3 switch結構 76
2.6.4 循環控制語句:for循環語句 77
2.6.5 while循環語句 79
2.6.6 do...while循環語句 79
2.6.7 break和continue語句 80
2.6.8 條件運算符:? : 81
2.7 函式 82
2.7.1 PHP中函式的概念 82
2.7.2 定義函式和調用函式 82
2.7.3 函式的參數和函式的返回值 83
2.7.4 PHP函式的傳值與傳址 85
2.7.5 函式和變數作用域 87
2.8 小結 88
2.9 上機實踐 89
第3章 用PHP進行Web編程 90
3.1 PHP的Web編程基礎 90
3.1.1 訪問和獲取HTML表單數據 90
3.1.2 用PHP處理表單數據 92
3.1.3 用PHP驗證表單數據有效性 93
3.1.4 PHP中的session 94
3.1.5 PHP中的檔案上傳處理 95
3.2 實例:用PHP開發一個簡單的網站 97
3.2.1 網站功能設計 97
3.2.2 頁面設計 98
3.2.3 用JavaScript實現客戶端回響 98
3.2.4 伺服器端用PHP處理請求 99
3.3 小結 102
3.4 上機實踐 102
第二篇 PHP數據處理
第4章 PHP對數組的處理 103
4.1 建立數組的方法 103
4.2 輸出數組元素的方法 104
4.2.1 使用for循環語句輸出數組元素 104
4.2.2 使用foreach循環語句輸出數組元素 105
4.2.3 使用函式print_r()顯示數組元素 106
4.3 計算數組元素個數 107
4.4 對數組進行分割、合併 108
4.4.1 實現數組分割 108
4.4.2 實現數組合併 109
4.5 處理數組元素和鍵值位置 109
4.6 對數組進行排序 111
4.6.1 使用函式sort()對數組進行排序 111
4.6.2 使用函式rsort()對數組進行逆向排序 112
4.6.3 排序時保持原數組的索引 113
4.6.4 數組的隨機排序 114
4.6.5 數組的反向排序 115
4.7 重置一個數組 116
4.8 用數組對變數賦值 117
4.9 快速創建數組 118
4.10 壓入和彈出數組元素 118
4.10.1 壓入數組元素 118
4.10.2 彈出數組元素 119
4.11 改變數組字元索引名的大小寫 120
4.12 對數組的集合處理 121
4.13 交換數組索引和元素 123
4.14 快速填充數組元素 124
4.15 統計數組元素出現次數 124
4.16 檢查數組索引是否存在 125
4.17 取得數組中的所有索引 126
4.18 用回調函式處理數組 127
4.19 其他數組處理函式 128
4.19.1 判斷某個值是否存在於數組 128
4.19.2 獲取數組中當前單元的索引值 129
4.20 小結 130
4.21 上機實踐 130
第5章 PHP對字元串的處理 132
5.1 對字元串做分割和合併 132
5.2 對字元串做比較和替換 133
5.2.1 比較兩個字元串大小 134
5.2.2 字元串的替換 134
5.3 輸出列印字元串 136
5.4 格式化字元串 136
5.5 獲取字元串中的一個子串 138
5.6 刪除字元串末尾部分的空白字元 139
5.7 刪除字元串開始部分的空白字元 140
5.8 刪除字元串兩頭的空白字元 140
5.9 獲取字元串的長度 142
5.10 對字元串做大小寫轉換 142
5.11 處理含有HTML標記的字元串 143
5.12 多次生成一個字元串 144
5.13 將字元串分析到變數 146
5.14 轉換字元串到數組 147
5.15 計算字元串的散列 148
5.16 小結 149
5.17 上機實踐 150
第6章 用PHP操作目錄和檔案 151
6.1 目錄操作 151
6.1.1 打開和關閉目錄 151
6.1.2 獲取目錄中下一個檔案的檔案名稱 152
6.1.3 列出某一目錄下的所有檔案 152
6.1.4 獲取和改變PHP的當前工作目錄 153
6.2 檔案操作 154
6.2.1 打開和關閉檔案 154
6.2.2 讀出檔案的內容 155
6.2.3 向檔案寫入內容 157
6.2.4 獲取檔案的相關信息 158
6.2.5 一些判斷檔案性質的函式 159
6.2.6 獲取路徑中的檔案名稱和目錄名 160
6.2.7 判斷檔案或目錄是否存在 161
6.2.8 用PHP建立目錄和刪除目錄 162
6.2.9 用PHP複製、刪除和移動檔案 163
6.2.10 用PHP處理檔案的鎖定 164
6.2.11 用PHP更改檔案的屬性 165
6.2.12 獲取檔案時間屬性 165
6.2.13 通過HTTP協定打開檔案 166
6.2.14 包含指定的檔案到當前檔案 167
6.3 小結 169
6.4 上機實踐 169
第7章 用PHP處理日期和時間 171
7.1 獲取格式化的日期和時間 171
7.2 處理UNIX時間戳 173
7.3 獲取日期和時間的相關信息 174
7.4 PHP中的日期計算 175
7.5 檢查日期的有效性 175
7.6 小結 176
7.7 上機實踐 177
第8章 PHP中對URL、HTTP的處理 178
8.1 URL地址分析 178
8.1.1 為什麼要對URL進行處理 178
8.1.2 對URL進行編碼 178
8.1.3 對URL進行解碼 179
8.1.4 對URL地址進行分析 180
8.2 HTTP套用 181
8.2.1 生成一個HTTP頭 181
8.2.2 獲取HTTP頭信息 183
8.3 在PHP中生成cookie 183
8.3.1 生成cookie 183
8.3.2 獲取cookie 184
8.3.3 cookie的有效期 185
8.3.4 cookie的有效路徑 185
8.3.5 刪除cookie 186
8.4 小結 186
8.5 上機實踐 186
第9章 PHP中的數學運算 188
9.1 常見的數學運算 188
9.2 不同進制之間的數字轉換 189
9.3 生成隨機數 190
9.4 小結 191
9.5 上機實踐 191
第10章 用PHP獲取系統信息 192
10.1 獲取和添加PHP環境變數 192
10.2 查看被載入的PHP擴展模組 194
10.3 獲取PHP的當前各類信息 194
10.4 獲取當前PHP進程的進程號和所有者 195
10.5 小結 196
10.6 上機實踐 196
第11章 套用實踐一:基於文本的簡易BLOG系統 197
11.1 系統功能設計 197
11.2 系統功能實現 198
11.2.1 數據的存儲及系統架構 198
11.2.2 實現BLOG文章的顯示 199
11.2.3 完善用戶界面 201
11.2.4 實現BLOG文章的添加功能 206
11.2.5 實現登錄功能 210
11.2.6 實現BLOG首頁 213
11.2.7 實現BLOG文章的編輯功能 217
11.2.8 實現BLOG文章的刪除功能 220
11.2.9 實現BLOG歸檔顯示的功能 223
11.2.10 實現BLOG的退出功能 227
11.3 小結 228
11.4 上機實踐 228
第三篇 PHP和MySQL資料庫
第12章 MySQL資料庫和SQL基礎 229
12.1 MySQL資料庫簡介 229
12.2 MySQL資料庫的基本操作 230
12.2.1 表、欄位、記錄和鍵的概念 230
12.2.2 登錄和退出MySQL 230
12.2.3 建立和刪除資料庫 231
12.2.4 表的建立 232
12.2.5 建立索引 233
12.3 MySQL中的SQL語法基礎 234
12.3.1 查看錶結構 234
12.3.2 插入數據 234
12.3.3 查詢數據 235
12.3.4 條件查詢 236
12.3.5 更新數據 237
12.3.6 刪除數據 237
12.3.7 對查詢結果做排序 238
12.3.8 對查詢結果做分組 238
12.3.9 對查詢結果做限定 239
12.3.10 MySQL的數據類型 240
12.3.11 MySQL運算符 240
12.3.12 MySQL中的模式匹配 241
13.3.13 使用MySQL函式 241
12.4 小結 244
12.5 上機實踐 245
第13章 使用PHP操作MySQL資料庫 246
13.1 操作MySQL的PHP函式 246
13.1.1 連線和關閉資料庫的函式 246
13.1.2 執行SQL語句的函式 247
13.1.3 處理查詢結果集的函式 247
13.1.4 獲取欄位信息的函式 248
13.1.5 資料庫操作的其他函式 248
13.2 使用PHP連線MySQL資料庫 249
13.2.1 建立和資料庫的連線 249
13.2.2 持久連線和臨時連線 250
13.2.3 關閉連線 250
13.3 使用PHP顯示MySQL資料庫的數據 251
13.3.1 在PHP執行SQL語句 251
13.3.2 用PHP處理數據結果集 253
13.3.3 向Web頁面顯示數據 255
13.3.4 數據分頁顯示的原理及實現 257
13.4 使用PHP維護MySQL資料庫的數據 260
13.4.1 從頁面獲取數據並插入資料庫 260
13.4.2 根據表單內容修改資料庫數據 262
13.4.3 通過PHP刪除資料庫數據 264
13.5 PHP操作MySQL常見錯誤信息及分析 267
13.6 小結 268
13.7 上機實踐 269
第四篇 更上一層樓—PHP進階
第14章 面向對象的PHP編程 271
14.1 面向對象編程的基本概念 271
14.2 PHP中的類和對象 272
14.2.1 類的創建 273
14.2.2 類的實例化—對象 274
14.2.3 構造函式和析構函式 275
14.2.4 繼承 277
14.2.5 訪問對象的屬性和方法 278
14.2.6 PHP中類的靜態成員 279
14.2.7 PHP中一些和類有關的函式 280
14.3 實例分析—深入理解PHP的類和對象 284
14.4 小結 288
14.5 上機實踐 289
第15章 PHP中的正則表達式 290
15.1 什麼是正則表達式 290
15.2 正則表達式的語法 291
15.2.1 模式 291
15.2.2 元字元 292
15.2.3 轉義字元 293
15.2.4 字元類 293
15.2.5 反義 294
15.2.6 數量匹配限定符 294
15.2.7 正則表達式構建實例 295
15.3 PHP中的POSIX 擴展正則表達式函式 295
15.3.1 正則表達式匹配函式 296
15.3.2 替換匹配字元串的函式 298
15.3.3 根據正則表達式分割字元串的函式 299
15.3.4 生成正則表達式的函式 300
15.4 PHP中的PERL兼容正則表達式函式 301
15.4.1 PERL兼容正則表達式中的修正符 301
15.4.2 返回與模式匹配的數組單元的正則表達式函式 302
15.4.3 進行正則表達式匹配的函式 304
15.4.4 進行全局正則表達式匹配的函式 305
15.4.5 執行正則表達式的搜尋和替換的函式 306
15.4.6 用正則表達式分割字元串的函式 307
15.5 幾例常見正則表達式分析 308
15.5.1 檢查IP位址的正則表達式 308
15.5.2 檢查中文字元的正則表達式 310
15.5.3 檢查Email地址的正則表達式 311
15.5.4 檢查URL地址的正則表達式 313
15.6 小結 314
15.7 上機實踐 314
第16章 PHP程式中的錯誤處理 316
16.1 重視程式中的錯誤處理 316
16.2 在PHP中處理程式錯誤 316
16.2.1 語法錯誤的處理 317
16.2.2 運行時錯誤的處理 317
16.2.3 邏輯錯誤的處理 318
16.3 PHP中的異常處理類及其用法 319
16.3.1 PHP中的異常處理類 319
16.3.2 PHP程式中捕獲異常的方法 320
16.3.3 獲取異常信息的函式 321
16.3.4 獲取錯誤發生所在檔案的函式 323
16.3.5 獲取錯誤發生所在行的函式 323
16.4 PHP配置中和錯誤處理有關的內容 324
16.5 PHP中自定義的錯誤處理 325
16.6 小結 326
16.7 上機實踐 326
第17章 PHP與XML 328
17.1 什麼是XML 328
17.2 建立一個簡單的XML檔案 329
17.3 深入認識XML文檔 331
17.3.1 XML聲明 331
17.3.2 XML元素 332
17.3.3 標記和屬性 333
17.3.4 注釋 334
17.3.5 處理指令 335
17.3.6 實體簡介 335
17.3.7 檔案類型定義(DTD) 336
17.4 在PHP中建立對XML的支持 338
17.5 用PHP函式處理XML文檔 339
17.5.1 XML解析器的建立和釋放 340
17.5.2 處理XML元素的函式 340
17.5.3 處理XML字元數據的函式 341
17.5.4 解析一個XML文檔 341
17.5.5 完整實例分析 341
17.6 使用SimpleXML處理XML 343
17.6.1 SimpleXML簡介 343
17.6.2 載入XML檔案的函式 344
17.6.3 載入XML字元串的函式 345
17.6.4 使用SimpleXML的實例 346
17.7 使用PHP的DOM庫處理XML文檔 347
17.8 小結 349
17.9 上機實踐 349
第18章 PHP與AJAX 351
18.1 什麼是AJAX 351
18.2 AJAX的工作原理 351
18.3 PHP與AJAX 352
18.3.1 創建XMLHttpRequest對象 352
18.3.2 傳送異步請求 354
18.3.3 編寫回調函式 356
18.3.4 完整實例 357
18.4 一個實現AJAX的PHP類—xajax 361
18.4.1 下載和安裝xajax 361
18.4.2 xajax簡介 361
18.4.3 在PHP程式中使用xajax 362
18.4.4 xajax套用實例 363
18.5 小結 364
18.6 上機實踐 365
第19章 PHP與圖像處理 366
19.1 PHP的圖像處理庫—GD庫 366
19.1.1 安裝GD庫 366
19.1.2 主要圖像處理函式介紹 367
19.2 圖像的建立 368
19.2.1 用PHP生成圖像 368
19.2.2 設定圖像顏色 368
19.2.3 在圖像上繪製直線 369
19.2.4 在圖像上輸出文字 370
19.3 圖片處理 372
19.3.1 打開已經存在的圖片 372
19.3.2 獲取圖片的相關屬性 373
19.3.3 對圖片加水印效果 375
19.3.4 生成已有圖片的縮略圖 379
19.4 實例:生成帶有底紋的數字驗證碼圖片 381
19.5 小結 382
19.6 上機實踐 383
第20章 PHP與MVC開發模式 384
20.1 什麼是MVC模型 384
20.2 MVC模型的組成 385
20.2.1 控制器(Controller) 385
20.2.2 數據模型(Model) 385
20.2.3 視圖(View) 386
20.3 PHP開發中的模板技術 386
20.3.1 什麼是模板 386
20.3.2 在PHP程式中使用模板 386
20.3.3 Smarty模板引擎介紹 387
20.3.4 Smarty模板引擎的使用 388
20.4 常見的基於MVC的PHP開發框架簡介 389
20.4.1 CodeIgniter 389
20.4.2 CakePHP 390
20.4.3 Zend Framework 390
20.4.4 FleaPHP 391
20.5 CodeIgniter框架套用 391
20.5.1 CodeIgniter的技術特點介紹 392
20.5.2 安裝CodeIgniter 392
20.5.3 CodeIgniter的Controller(控制器) 393
20.5.4 CodeIgniter的Model(數據模型) 395
20.5.5 CodeIgniter的View(視圖) 395
20.6 小結 398
20.7 上機實踐 398
第五篇 PHP套用實例與常見面試題
第21章 套用實踐二:用PHP傳送郵件 399
21.1 mail()函式和SMTP協定簡介 399
21.1.1 mail()函式配置與語法 399
21.1.2 SMTP協定與指令 400
21.2 功能設計和實現 400
21.2.1 設計一個傳送郵件的類 401
21.2.2 測試傳送郵件功能 405
21.2.3 傳送郵件的表單及程式實現 405
21.3 小結 408
第22章 常見面試題 409
面試題1 數組函式arsort()的作用是什麼 409
面試題2 簡述include 和require語句的區別 409
面試題3 寫出的輸出結果 409
面試題4 如何實現字元串翻轉 409
面試題5 說出echo、print()、print_r() 3個函式的區別 409
面試題6 寫出顯示客戶端IP與伺服器端IP的代碼 409
面試題7 SQL中LEFT JOIN是什麼意思 410
面試題8 如何修改session的生存時間 410
面試題9 寫一個能夠遍歷一個資料夾下所有檔案和子資料夾的函式 411
面試題10 寫一個過濾網頁上所有JS/VBS腳本的正則表達式 411
面試題11 PHP中字元串的表現形式有哪些 411
面試題12 談談你對MVC的認識 412
面試題13 sort()、asort ()和ksort()有什麼區別 412
面試題14 說出以下代碼的輸出結果(變數的作用域) 412
面試題15 以下哪個函式可打開檔案並且能讀/寫檔案信息 412
面試題16 寫一個函式驗證電子郵件的格式 413
面試題17 使用PHP寫一段簡單查詢 413
面試題18 寫出PHP5許可權控制修飾符 413
面試題19 說明PHP中傳值與傳引用的區別 414
面試題20 從一個標準URL里取出檔案的擴展名 414
面試題21 用PHP列印出前一天的時間,格式是2011-05-10 22:21:21 414
面試題22 你一般使用哪些工具進行版本控制 414
面試題23 最佳化MySQL資料庫的方法 414
面試題24 創建vote表用於記錄單選投票用戶的數據 415
面試題25 投票人數太多導致網站出現too many connection錯誤,請提供解決方案 415
面試題26 session與cookie的區別 415
附錄A 配置Eclipse成為PHP開發工具 416
附錄B 正則表達式參考 420
附錄C PHP代碼編寫的一般規則 423
附錄D 使用phpMyAdmin管理MySQL資料庫 426

相關詞條

熱門詞條

聯絡我們