第一篇 概述篇 2
第1章 PHP概述 2
1.1 PHP简介 2
1.1.1 什么是PHP 2
1.1.2 PHP的特点 2
1.1.3 PHP的应用范围 3
1.2 Web服务器简介 4
1.2.1 什么是Web服务器 4
1.2.2 Web服务器原理简介 4
1.2.3 常用的Web服务器 5
1.3 HTML简介 5
1.3.1 什么是HTML 6
1.3.2 HTML标记类型 6
1.3.3 HTML元素与标签 7
1.4 小结 10
第2章 PHP环境的安装与配置 11
2.1 PHP环境安装 11
2.1.1 安装Apache服务器 11
2.1.2 安装PHP 13
2.1.3 PHP配置文件php.ini简介 14
2.1.4 查看配置信息 14
2.2 整合套件 15
2.2.1 XAMPP简介 15
2.2.2 WAMP简介 16
2.2.3 Vertrigo Server简介 17
2.2.4 其他套件 18
2.3 开发工具 19
2.3.1 EditPlus 19
2.3.2 NotePad++ 20
2.3.3 Eclipse+PDT 20
2.3.4 ZendStudio for Eclipse 21
2.3.5 其他开发工具 22
2.4 第一个PHP程序——Hello,World 22
2.5 小结 23
第二篇 语法篇 26
第3章 基础语法 26
3.1 数据类型 26
3.1.1 标量数据类型 26
3.1.2 复合数据类型 29
3.1.3 特殊数据类型 30
3.1.4 数据类型的获取 31
3.2 数据类型的转换 31
3.2.1 转换为布尔型 32
3.2.2 转换为整型 32
3.2.3 转换为浮点型 33
3.2.4 转换为字符串型 34
3.2.5 转换为数组型 35
3.2.6 转换为对象和资源 36
3.3 常量与变量 36
3.3.1 常量 36
3.3.2 系统常量 37
3.3.3 变量 37
3.3.4 变量的作用域 38
3.3.5 可变变量 40
3.4 运算符 41
3.4.1 赋值运算符 41
3.4.2 算术运算符 41
3.4.3 字符串运算符 42
3.4.4 比较运算符 43
3.4.5 逻辑运算符 44
3.4.6 位运算符 44
3.4.7 其他运算符 45
3.4.8 运算符的优先级 45
3.5 表达式 46
3.5.1 表达式的分类 46
3.5.2 赋值运算表达式 46
3.5.3 算术运算表达式 47
3.5.4 三元表达式 47
3.5.5 其他表达式 48
3.6 本章实例 48
3.7 小结 49
第4章 流程控制 50
4.1 流程控制概述 50
4.2 条件控制语句 50
4.2.1 if控制语句 51
4.2.2 switch分支语句 53
4.3 循环控制语句 54
4.3.1 while循环语句 54
4.3.2 do-while循环语句 55
4.3.3 for循环语句 55
4.4 跳转语句 56
4.4.1 break跳转语句 56
4.4.2 continue跳转语句 56
4.4.3 return跳转语句 57
4.5 文件包含 57
4.5.1 使用include和include_once包含文件 57
4.5.2 使用require和require_once包含文件 59
4.6 本章实例 61
4.7 小结 62
第5章 函数及操作 63
5.1 函数的调用与定义 63
5.1.1 函数的调用 63
5.1.2 函数的定义 64
5.1.3 函数间传递参数 65
5.2 引用 66
5.2.1 引用的定义 66
5.2.2 对函数、变量的引用 67
5.2.3 引用的释放 68
5.3 PHP常用函数 69
5.3.1 日期时间函数 69
5.3.2 数学函数 75
5.3.3 其他常用函数 76
5.4 本章实例 77
5.5 小结 78
第6章 数组及操作 79
6.1 概述 79
6.1.1 一维数组 79
6.1.2 多维数组 79
6.2 数组的常用操作 80
6.2.1 数组的创建 80
6.2.2 数组的调用与删除 81
6.2.3 数组的更新 82
6.2.4 数组的遍历 83
6.3 数组的查找 84
6.3.1 顺序查找 84
6.3.2 二分法查找 85
6.3.3 array_search查找 85
6.4 数组的排序 86
6.4.1 递增排序 86
6.4.2 递减排序 87
6.4.3 数组排序 88
6.5 数组的拆分与合并 89
6.5.1 数组的拆分 89
6.5.2 数组的合并 91
6.6 全局数组 92
6.6.1 $_SERVER[]全局数组 92
6.6.2 $_ENV[]全局数组 93
6.6.3 $_GET[]和$_POST[]全局数组 93
6.6.4 $_FILES[]全局数组 94
6.6.5 $_COOKIE[]和$_SESSION[]全局数组 94
6.6.6 $_REQUEST[]全局数组 94
6.7 本章实例 94
6.8 小结 95
第7章 字符操作与正则表达式 96
7.1 理解字符类型 96
7.2 字符的显示与格式化 96
7.2.1 字符的显示 97
7.2.2 字符的格式化 97
7.3 常用操作 100
7.3.1 字符串重复操作——str_repeat函数 100
7.3.2 字符串查找操作——strstr函数 101
7.3.3 字符串替换操作——str_replace函数 101
7.3.4 字符串分解操作——str_split函数 103
7.3.5 字符串分解成单词——str_word_count函数 103
7.3.6 字符串的长度——strlen函数 104
7.3.7 获取子字符串——substr函数 104
7.4 正则表达式 105
7.4.1 正则表达式简介 105
7.4.2 常见的正则表达式元字符 105
7.5 正则表达式的常用操作 106
7.5.1 进行正则表达式的匹配——preg_match函数 106
7.5.2 进行全局正则表达式的匹配——preg_match_all函数 107
7.5.3 获得与模式匹配的数组单元——preg_grep函数 108
7.5.4 转义正则表达式字符——preg_quote函数 109
7.5.5 执行正则表达式的搜索与替换——preg_replace函数 109
7.5.6 通过回调函数执行正则表达式的搜索与替换——preg_replace_callback函数 110
7.5.7 用正则表达式进行字符串分割——preg_split函数 111
7.6 本章实例 112
7.7 小结 113
第8章 错误、异常处理与调试 114
8.1 PHP错误类型 114
8.1.1 语法错误 114
8.1.2 语义错误 115
8.1.3 逻辑错误 115
8.1.4 注释错误 116
8.1.5 运行错误 116
8.2 错误处理 117
8.2.1 错误级别 117
8.2.2 php.ini对错误处理的设置 117
8.2.3 错误处理 118
8.3 PHP异常 121
8.3.1 异常处理原理 121
8.3.2 异常处理 121
8.3.3 扩展的异常处理类 124
8.3.4 异常的传递与重掷 125
8.4 PHP程序的调试 126
8.4.1 打开错误报告 126
8.4.2 使用ECHO进行调试 127
8.4.3 使用DIE进行调试 128
8.5 使用ZendStudio进行调试 128
8.5.1 使用Eclipse开发PHP的优点 128
8.5.2 Eclipse和ZendStudio的安装 129
8.5.3 Zend Debugger的安装 130
8.5.4 使用ZendStudio进行调试 131
8.6 本章实例 132
8.7 小结 133
第9章 面向对象的PHP 134
9.1 概述 134
9.1.1 什么是面向对象 134
9.1.2 面向对象的特征 135
9.2 类和对象 135
9.2.1 类的结构及声明 135
9.2.2 属性和方法的定义 136
9.2.3 使用构造函数 137
9.2.4 使用析构函数 137
9.2.5 类的实例化 138
9.2.6 类的继承 139
9.3 类的常量 139
9.4 访问方法和属性 140
9.4.1 访问修饰符 141
9.4.2 静态属性 142
9.4.3 静态方法 143
9.4.4 魔术方法 144
9.5 本章实例 146
9.6 小结 147
第10章 继承、多态与接口 148
10.1 继承 148
10.1.1 什么是继承 148
10.1.2 PHP中实现继承的方法 148
10.1.3 重载 149
10.1.4 用final关键字对继承和重载进行限制 151
10.2 多态 151
10.2.1 什么是多态 152
10.2.2 多态的应用设计 152
10.3 接口 154
10.3.1 接口的概念 154
10.3.2 接口的实现 154
10.3.3 接口的继承 155
10.4 小结 156
第三篇 应用篇 158
第11章 文件系统与操作 158
11.1 目录操作 158
11.1.1 打开目录 158
11.1.2 关闭目录 159
11.1.3 读取目录 159
11.1.4 建立目录 160
11.1.5 删除目录 161
11.1.6 改变目录 161
11.2 文件操作 162
11.2.1 打开文件 162
11.2.2 关闭文件 164
11.2.3 读取文件 164
11.2.4 写入文件 166
11.2.5 删除文件 167
11.2.6 复制文件 168
11.2.7 移动文件和重命名文件 168
11.3 文件的上传与下载 169
11.3.1 开启上传功能 169
11.3.2 POST方法上传 170
11.3.3 同时上传多个文件 172
11.3.4 文件的下载 174
11.4 本章实例 174
11.5 小结 175
第12章 PHP交互 176
12.1 表单数据的提交方法 176
12.1.1 GET方法 176
12.1.2 POST方法 176
12.1.3 表单提交方法的区别 177
12.2 获取表单数据 177
12.2.1 获取文本域的数据 177
12.2.2 获取单选按钮的数据 179
12.2.3 获取复选框的数据 180
12.2.4 获取下拉框或列表框的数据 181
12.3 常用表单数据的验证 182
12.3.1 用户名的验证 183
12.3.2 密码验证 183
12.3.3 日期验证 184
12.3.4 E-mail验证 184
12.4 URL编码与解码 185
12.4.1 编码urlencode函数 185
12.4.2 解码urldecode 185
12.5 本章实例 186
12.6 小结 187
第13章 Cookie与Session 188
13.1 概述 188
13.1.1 Cookie 188
13.1.2 Session 189
13.2 Cookie操作 190
13.2.1 设置Cookie 190
13.2.2 访问Cookie 192
13.2.3 删除Cookie 192
13.2.4 Cookie全局数组 193
13.3 Cookie应用 193
13.3.1 登录页面 193
13.3.2 验证页面 194
13.3.3 欢迎页面 195
13.4 Session操作 195
13.4.1 Session使用 196
13.4.2 Session检测与注销 196
13.4.3 Session全局数组 198
13.5 Session应用 198
13.5.1 登录页面 198
13.5.2 验证页面 199
13.5.3 欢迎页面 200
13.5.4 注销页面 200
13.6 本章实例 200
13.7 小结 202
第14章 PHP与AJAX 203
14.1 AJAX概述 203
14.1.1 什么是AJAX 203
14.1.2 工作原理 204
14.1.3 优点与缺点 204
14.2 使用AJAX 205
14.2.1 创建XMLHttpRequest对象 205
14.2.2 向服务器发送请求 206
14.2.3 处理服务器响应 208
14.3 使用POST方式的AJAX 211
14.3.1 POST方式 211
14.3.2 POST实例 211
14.4 第一个AJAX程序——Hello,Ajax! 213
14.4.1 浏览器页面发送请求与处理响应 214
14.4.2 服务器响应 215
14.5 本章实例 215
14.5.1 读取服务器文本文件 215
14.5.2 三级联动下拉框 216
14.6 小结 220
第15章 图像处理 221
15.1 图像库简介 221
15.1.1 打开GD库 221
15.1.2 GD库支持的图像格式 222
15.2 基本的图像处理 223
15.2.1 创建图像 223
15.2.2 设置颜色 224
15.2.3 生成图像与销毁图像 224
15.2.4 绘制点线 225
15.2.5 绘制并填充几何图形 226
15.2.6 输出文字 226
15.3 图像处理实例 227
15.3.1 生成验证码图片 227
15.3.2 生成缩略图 229
15.4 本章实例 231
15.5 小结 234
第16章 邮件处理 235
16.1 PHP邮件发送配置 235
16.1.1 SMTP功能的配置 235
16.1.2 安装SMTP服务器 236
16.2 使用mail函数发送邮件 236
16.2.1 mail函数简介 236
16.2.2 发送HTML格式的邮件 238
16.2.3 发送带附件的邮件 238
16.3 本章实例 240
16.4 小结 244
第四篇 数据库篇 246
第17章 MySQL数据库的安装与操作 246
17.1 SQL语言概述 246
17.2 MySQL的安装与配置 246
17.2.1 下载版本 247
17.2.2 安装和配置 247
17.3 MySQL的启动与停止 248
17.3.1 启动 249
17.3.2 停止 249
17.4 管理数据库 250
17.4.1 MySQL的登录与退出 250
17.4.2 创建数据库 250
17.4.3 删除数据库 251
17.4.4 选择数据库 252
17.4.5 备份与恢复 252
17.5 操作数据表 253
17.5.1 创建表 253
17.5.2 修改表 255
17.5.3 删除表 255
17.6 数据类型与视图 256
17.6.1 MySQL数据类型 256
17.6.2 视图 257
17.7 操作数据 258
17.7.1 查询语句 258
17.7.2 插入语句 261
17.7.3 更新语句 262
17.7.4 删除语句 262
17.8 使用phpMyAdmin管理MySQL数据库 263
17.8.1 phpMyAdmin概述 263
17.8.2 安装与配置 263
17.8.3 数据库操作 264
17.8.4 数据表操作 264
17.8.5 数据的增删改 266
17.8.6 数据的查询 267
17.8.7 数据的导入导出 268
17.9 小结 269
第18章 PHP操作数据库 270
18.1 PHP操作MySQL数据库 270
18.1.1 连接MySQL数据库 270
18.1.2 断开与MySQL的连接 271
18.1.3 选择和使用MySQL数据库 272
18.1.4 执行MySQL指令 273
18.1.5 分析结果集 274
18.2 管理MySQL数据库中的数据 279
18.2.1 添加数据 279
18.2.2 更新数据 280
18.2.3 删除数据 283
18.3 获取数据库信息 284
18.3.1 获取数据库的信息 285
18.3.2 获取数据表的信息 285
18.3.3 获取数据表中列的信息 286
18.4 PHP操作SQL Server数据库 289
18.4.1 连接和关闭SQL Server数据库 289
18.4.2 执行SQL语句 290
18.4.3 获取结果集 291
18.5 PHP操作Access数据库 292
18.5.1 连接和关闭Access 292
18.5.2 执行SQL语句 293
18.5.3 获取结果集 294
18.6 本章实例 294
18.7 小结 298
第19章 PHP与XML 299
19.1 XML简介 299
19.2 使用SimpleXML进行操作 300
19.2.1 创建SimpleXML对象 300
19.2.2 读取对象中的XML数据 301
19.2.3 XML数据的修改 304
19.2.4 XML数据的存储 304
19.3 动态创建XML文档 305
19.4 小结 306
第五篇 扩展篇 308
第20章 MVC模式与PHP开发框架 308
20.1 MVC概述 308
20.1.1 何谓MVC 308
20.1.2 MVC的优点 309
20.1.3 MVC的不足 309
20.2 PHP框架——Zend Framework 310
20.2.1 Zend Framework的特性 310
20.2.2 Zend Framework的目录结构 311
20.2.3 Zend Framework的安装 311
20.2.4 引导文件index.php 313
20.2.5 页面组织 314
20.2.6 控制器类Controllers 315
20.2.7 视图文件 315
20.2.8 布局 316
20.3 小结 317
第21章 面向对象高级编程和设计模式 318
21.1 重载 318
21.1.1 方法和属性的重载 318
21.1.2 使用数组语法访问的重载 320
21.2 设计模式 321
21.2.1 设计模式简介 322
21.2.2 单例模式 322
21.2.3 策略模式 323
21.2.4 工厂模式 323
21.2.5 观察者模式 325
21.2.6 适配器模式 326
21.3 小结 327
第22章 缓存与静态化 328
22.1 为何使用静态机制 328
22.2 缓存机制及其应用 330
22.2.1 缓存机制 330
22.2.2 缓存机制的应用 330
22.3 静态机制及实现 332
22.3.1 由模板生成静态页面 332
22.3.2 由数据库生成静态页面 333
22.4 小结 334
第23章 PEAR与PECL 335
23.1 概述 335
23.1.1 PEAR简介 335
23.1.2 PECL简介 335
23.2 PEAR的安装与使用 336
23.2.1 PEAR的安装 336
23.2.2 查看已安装的包 338
23.2.3 查看PEAR包的详细信息 338
23.2.4 PEAR包的安装 338
23.2.5 PEAR包的升级 339
23.2.6 PEAR包的删除 339
23.2.7 PEAR包的使用 340
23.3 PECL扩展库 341
23.3.1 下载安装PECL扩展库 341
23.3.2 使用PEAR编译共享PECL扩展库 343
23.4 小结 343
第六篇 实例篇 346
第24章 留言板 346
24.1 留言板简介 346
24.2 数据库设计 347
24.3 项目实施 348
24.3.1 系统配置文件 348
24.3.2 数据库连接 349
24.3.3 添加留言模块 350
24.3.4 查看留言模块 352
24.3.5 显示留言详细内容 355
24.3.6 登录模块 357
24.3.7 回复留言模块 359
24.3.8 删除留言模块 360
24.3.9 审核留言模块 362
24.4 小结 364
第25章 投票系统 365
25.1 投票系统简介 365
25.2 数据库设计 366
25.3 项目实施 367
25.3.1 系统配置文件 367
25.3.2 数据库操作类 368
25.4 投票模块 369
25.4.1 投票页面 369
25.4.2 投票处理 371
25.4.3 投票统计 372
25.5 登录模块 374
25.5.1 登录页面 374
25.5.2 登录处理 375
25.5.3 退出模块 376
25.6 投票主题模块 377
25.6.1 添加主题 377
25.6.2 修改投票主题 379
25.6.3 删除投票主题 380
25.7 参数配置模块 381
25.7.1 添加投票选项 381
25.7.2 修改投票选项 384
25.7.3 删除投票选项 386
25.8 小结 386
第26章 内容管理系统 387
26.1 内容管理系统简介 387
26.2 数据库设计 387
26.3 项目实施 391
26.3.1 系统配置 391
26.3.2 引导文件bootstrap.php 393
26.3.3 系统初始化 393
26.3.4 系统默认布局 396
26.3.5 系统异常处理 396
26.3.6 系统参数配置 398
26.4 用户模块 400
26.4.1 系统开关 400
26.4.2 注册 401
26.4.3 登录 404
26.4.4 退出 406
26.5 文章模块 406
26.5.1 管理控制器初始化 407
26.5.2 添加文章 409
26.5.3 管理文章 410
26.5.4 修改文章 414
26.5.5 审核文章 416
26.5.6 删除文章 418
26.5.7 显示文章列表 419
26.5.8 显示文章内容 422
26.6 文章类别管理 423
26.6.1 新增类别 423
26.6.2 修改类别 425
26.6.3 删除类别 427
26.7 文章模板管理 428
26.7.1 新增模板 428
26.7.2 修改模板 429
26.7.3 删除模板 431
26.8 小结 432