第一篇 PHP Web开发基础 1
第1章 PHP技术概述 1
1.1 Web技术原理 2
1.1.1 HTTP协议的原理 2
1.1.2 URL介绍 4
1.1.3 HTTP请求响应的过程 4
1.2 HTML基础 6
1.2.1 HTML标记语言 6
1.2.2 JavaScript语言基础 9
1.2.3 HTML Form表单 11
1.2.4 CSS样式表 13
1.3 PHP开发语言概述 15
1.3.1 PHP的发展历史 15
1.3.2 PHP的执行原理 16
1.4 小结 18
第2章 PHP5+Apache2 Web开发环境的配置 19
2.1 Apache介绍 20
2.2 Apache与PHP的结合 20
2.2.1 以模块方式运行PHP 20
2.2.2 以CGI方式运行PHP 21
2.2.3 两种运行方式的比较 21
2.3 在Windows下安装配置PHP+Apache开发环境 22
2.3.1 安装Apache 22
2.3.2 以模块方式安装PHP 26
2.3.3 以CGI方式安装PHP 31
2.4 在Linux下安装配置PHP+Apache开发环境 32
2.4.1 以模块方式安装PHP 33
2.4.2 以CGI方式安装PHP 35
2.5 Apache配置文件详解 37
2.6 PHP配置文件详解 39
2.7 第一个PHP程序 44
2.8 小结 45
第二篇 PHP开发入门 46
第3章 PHP编程语法基础 46
3.1 一个简单的PHP程序 47
3.2 数据类型 48
3.2.1 整型(integer) 48
3.2.2 浮点型(float) 49
3.2.3 布尔型(boolean) 49
3.2.4 字符串(string) 49
3.2.5 数组(array) 50
3.2.6 对象(object) 52
3.2.7 NULL 52
3.2.8 资源 53
3.2.9 数据类型的转换 53
3.2.10 PHP中==和===的区别 55
3.3 变量与常量 55
3.3.1 定义常量 56
3.3.2 变量的作用范围 56
3.3.3 变量的生存期 59
3.3.4 预定义变量 60
3.4 表达式和操作符 62
3.4.1 算术运算符 64
3.4.2 赋值运算符 64
3.4.3 位运算符 64
3.4.4 比较运算符 65
3.4.5 递增递减运算符 66
3.4.6 逻辑运算符 67
3.4.7 字符串运算符 67
3.4.8 数组运算符 67
3.4.9 类型运算符 69
3.4.10 错误控制运算符 69
3.4.11 执行运算符 69
3.5 流程控制 69
3.5.1 if语句 70
3.5.2 switch语句 71
3.5.3 while循环 74
3.5.4 do…while循环 74
3.5.5 for循环 75
3 5.6 foreach循环 76
3.5.7 break中断循环 78
3.5.8 continue指令 80
3.6 小结 81
第4章 函数 82
4.1 定义函数 83
4.2 函数的参数 83
4.2.1 声明参数 83
4.2.2 默认参数 83
4.2.3 参数的值传递与引用传递 84
4.3 函数的返回值 87
4.4 变量函数 88
4.5 类型检测函数 89
4.6 小结 91
第5章 PHP代码文件结构 92
5.1 PHP会解析哪些扩展名的文件 93
5.2 require和include 93
5.2.1 使用require/require_once引入文件 94
5.2.2 使用include/include_once包含文件 96
5.2.3 include与require的区别 98
5.3 在HTML页面中插入PHP代码 99
5.4 把页面的显示和程序逻辑分开是一种好习惯 100
5.5 小结 103
第6章 PHP系统预定义变量 104
6.1 HTTP GET与POST 105
6.1.1 GET变量?_GET 105
6.1.2 POST变量?_POST 108
6.2 使用Session 109
6.2.1 与Session有关的PHP配置 110
6.2.2 打开Session 111
6.2.3 访问Session中的数据 112
6.3 使用Cookie 117
6.3.1 与Cookie有关的PHP配置 118
6.3.2 把数据写入Cookie中 118
6.3.3 从Cookie中获取数据 119
6.3.4 把数据从Cookie中清除 121
6.4 HTTP文件上传变量$_FILES 122
6.5 服务器信息变量$_SERVER 127
6.6 小结 130
第7章 PHP字符串处理和正则表达式 131
7.1 字符串的格式化 132
7.1.1 使用sprintf来格式化字符串 132
7.1.2 使用str_pad来补齐一个字符串 134
7.2 使用strlen计算字符串长度 135
7.3 字符串的查找 136
7.3.1 使用strpos与stripos来确定子串的位置 136
7.3.2 使用substr来返回子串 138
7.3.3 使用str_replace替换字符串 139
7.4 字符串的比较 140
7.4.1 字符串比较函数strcmp与strncmp 141
7.4.2 不区分大小写的比较函数strcasecmp与strncasecmp 142
7.5 字符串的转换 143
7.5.1 大小写转换函数strtoupper与strtolowe 143
7.5.2 首字母大写转换函数ucfirst与ucwords 144
7.6 字符串的切分和组合 145
7.6.1 字符串切分函数explode与字符串合并函数implode 146
7.6.2 函数str_split平均分割字符串 148
7.7 在字符串中包含变量,单引号与双引号的区别 149
7.8 使用MD5加密字符串 150
7.9 正则表达式 150
7.9.1 正则表达式基础 150
7.9.2 POSIX正则表达式函数 151
7.9.3 PCRE-Perl兼容正则表达式函数 155
7.10 小结 163
第8章 数组 164
8.1 数组的使用 165
8.1.1 创建数组 165
8.1.2 添加数组元素 167
8.1.3 删除数组元素 168
8.1.4 访问数组元素 170
8.1.5 多维数组 171
8.2 数组的遍历 173
8.2.1 使用for循环遍历数组 173
8.2.2 使用foreach遍历数组 175
8.2.3 使用list和each函数遍历数组 176
8.3 一些重要的数组操作函数 177
8.3.1 数组排序函数 177
8.3.2 自定义排序函数usort 180
8.3.3 数组随机排序函数shuffle 183
8.3.4 数组遍历函数array_walk 184
8.3.5 数组判断函数 185
8.4 小结 187
第9章 PHP日期处理 188
9.1 PHP中的日期和时间 189
9.1.1 时间戳 189
9.1.2 获得日期和时间 192
9.1.3 日期和时间的格式化 194
9.1.4 日期验证函数 197
9.1.5 PHP时区的设置 199
9.2 使用PEAR处理日期 200
9.2.1 Date包的应用 200
9.3 小结 202
第10章 PHP文件操作 203
10.1 访问文件 204
10.1.1 打开文件 204
10.1.2 读取文件 204
10.1.3 写入文件 208
10.1.4 复制文件 210
10.1.5 删除文件 211
10.1.6 重命名文件 212
10.2 访问目录 212
10.2.1 读取目录的文件 212
10.2.2 创建和删除目录 214
10.3 文件判断操作 215
10.3.1 判断文件或者目录是否存在 215
10.3.2 判断文件是否可读写 216
10.4 文件的上传和下载 217
10.4.1 文件的上传 217
10.4.2 文件的下载 218
10.5 小结 220
第11章 PHP图像处理 221
11.1 GD扩展简介 222
11.2 使用GD函数库处理图像 222
11.2.1 创建与绘制图像 223
11.2.2 获取图像信息 224
11.2.3 缩放图像 226
11.2.4 绘制文本图像 229
11.3 图像的应用实例 229
11.3.1 折线图的绘制 230
11.3.2 柱状图的绘制 233
11.4 小结 237
第12章 错误以及异常的处理 238
12.1 PHP错误处理的配置选项 239
12.1.1 php.ini中的error_reporting的错误级别设置 240
12.1.2 display_errors的错误显示设置 243
12.1.3 使用error_reporting函数更改当前错误级别设置 243
12.2 强制退出函数exit 244
12.3 使用trigger_error手动触发用户级的错误 245
12.4 使用自定义的错误处理函数 246
12.5 使用异常 249
12.5.1 为什么引入异常 249
12.5.2 抛出异常与捕获异常 249
12.6 小结 253
第三篇 PHP5 MySQL数据库开发第13章 MYSQL入门 254
13.1 MySQL简介 255
13.2 在Windows下安装PHP5+Apache+MySQL开发环境 255
13.3 在Linux下安装PHP5+Apache+MySQL开发环境 261
13.4 启动MySQL服务 262
13.5 关闭MySQL服务 266
13.6 登录到MySQL服务器 268
13.7 维护MySQL数据库 270
13.7.1 MySQL数据库系统组成 271
13.7.2 创建数据库 272
13.7.3 删除数据库 273
13.7.4 修改数据库 274
13.7.5 备份和恢复数据库 274
13.8 MySQL表的管理 276
13.8.1 MySQL数据类型 276
13.8.2 创建表 277
13.8.3 查看表结构 278
13.8.4 修改表结构 279
13.8.5 删除表 280
13.9 MySQL视图的管理 280
13.9.1 视图的概念 280
13.9.2 创建视图 280
13.9.3 查看视图 281
13.9.4 修改视图 282
13.9.5 删除视图 282
13.10 结构化查询语句SQL基础 282
13.10.1 SQL简介 282
13.10.2 查询语句SELECT 283
13.10.3 插入语句INSERT 284
13.10.4 更新语句UPDATE 285
13.10.5 删除语句DELETE 286
13.11 MySQL数据库管理工具PHPMyAdmin 287
13.12 小结 288
第14章 使用PHP5+MySQL进行Web开发 289
14.1 PHP+MySQL+Apache基本架构 290
14.2 PHP的MySQL数据库接口扩展模块 291
14.3 打开一个PHP到MySQL的连接 292
14.3.1 MySQL非持久连接 292
14.3.2 MySQL持久连接 294
14.3.3 MySQL连接资源描述符 296
14.4 关闭MySQL连接 296
14.5 选定将要进行查询的数据库 297
14.6 使用PHP进行MySQL数据库查询 298
14.6.1 使用PHP进行查询配置 298
14.6.2 从查询结果集中获取数据 300
14.7 使用PHP向数据库中插入数据 305
14.8 得到上一次所插入数据的ID 306
14.9 使用PHP更新数据库中的数据 307
14.10 查询上一次操作所影响的记录行数 308
14.11 MySQL查询错误处理 310
14.12 事务处理 311
14.12.1 什么是事务 311
14.12.2 MySQL的事务处理 312
14.12.3 在PHP中使用事务 313
14.13 MySQL查询中的日期处理 315
14.14 把二进制数据存储到数据库中 318
14.14.1 MySQL如何存储二进制数据 318
14.14.2 使用mysql_escape_string转义需要存入MySQL数据库的二进制数据 319
14.14.3 一个存储图片并读取显示的范例程序 319
14.15 小结 322
第四篇 PHP高级开发 323
第15章 面向对象的PHP程序开发基础 323
15.1 面向对象的程序设计与面向过程的程序设计 324
15.1.1 面向过程的程序设计 324
15.1.2 面向对象的程序设计 325
15.2 使用类 326
15.2.1 类与对象 326
15.2.2 定义类 328
15.2.3 创建对象与销毁对象 328
15.2.4 类的成员变量与成员函数 331
15.2.5 类的访问控制 333
15.2.6 类的构造函数 334
15.2.7 类的析构函数 336
15.2.8 类的静态成员变量 337
15.2.9 类的静态成员函数 338
15.2.10 类中的常量 339
15.3 小结 341
第16章 类的继承与多态 342
16.1 继承 343
16.1.1 如何继承一个类 343
16.1.2 public,protected,private在继承类中的影响 344
16.1.3 final在继承类中的影响 345
16.2 多态 346
16.2.1 多态的理解 347
16.2.2 应用多态性 347
16.3 接口 349
16.3.1 定义接口 350
16.3.2 实现接口的方法 351
16.4 抽象类 353
16.4.1 定义抽象类 353
16.4.2 使用抽象类 354
16.4.3 接口与抽象类的比较 355
16.5 小结 356
第17章 XML与SOAP 357
17.1 XML 358
17.1.1 XML是什么 358
17.1.2 XML文档的结构 359
17.2 在PHP中处理XML 360
17.2.1 在PHP中处理XML 361
17.3 SOAP 366
17.3.1 Web Services简介 366
17.3.2 什么是SOAP 367
17.3.3 Web服务描述语言WSDL 367
17.4 在PHP中使用SOAP 369
17.4.1 配置PHP支持SOAP 369
17.4.2 使用SoapServer和SoapClient开发SOAP程序 370
17.4.3 一个范例程序:使用Google Ajax服务实现异步通信 373
17.5 小结 376
第18章 使用PEAR 377
18.1 EAR基础知识 378
18.1.1 什么是PEAR 378
18.1.2 安装PEAR 378
18.1.3 下载并安装PEAR 381
18.1.4 升级现有包 382
18.1.5 卸载现有包 383
18.2 范例:使用PHP生成Excel文档 384
18.2.1 安装Spreadsheet_Excel_Wrter 384
18.2.2 生成Excel文档 384
18.3 小结 385
第19章 PHP与Ajax 386
19.1 Ajax基础知识 387
19.1.1 Ajax介绍 387
19.1.2 Ajax执行原理 387
19.1.3 XMLHttpRequest与ActiveXObject 388
19.1.4 执行GET请求和执行POST请求 391
19.1.5 回调函数 393
19.1.6 一个例子 395
19.2 使用Sajax 398
19.2.1 常用Ajax框架的简介 398
19.2.2 为什么使用Sajax 399
19.2.3 范例程序 399
19.3 小结 402
第20章 站在巨人的肩上,使用框架Framework 403
20.1 什么才能算是框架 404
20.2 为什么需要框架 404
20.3 PHP世界中常见的框架介绍 405
20.3.1 Cake 405
20.3.2 FleaPHP 417
20.3.3 选择最适合你的框架 427
20.4 小结 428
第五篇 综合运用 429
第21章 网上投票系统 429
21.1 系统功能描述和程序流程图 430
21.1.1 系统功能描述 430
21.1.2 程序流程图 430
21.2 数据库分析和基本数据表 431
21.2.1 投票活动信息数据 432
21.2.2 投票选项信息数据 432
21.2.3 管理员信息数据 432
21.2.4 MySQL数据库和数据表 432
21.3 站点管理和网页文件规划设计 433
21.3.1 站点设定 433
21.3.2 网页文件规划设计 433
21.4 各网页文件制作及源代码图解 434
21.4.1 数据库连接文件connVoteSystem.php 434
21.4.2 网上投票系统首页votemain.php 435
21.4.3 管理员登录文件voteadminlogin.php 439
21.4.4 管理员功能文件voteadmin.php 441
21.4.5 新增投票活动功能文件voteadd.php 446
21.4.6 新增投票活动的选项功能文件voteadditem.php 448
21.4.7 投票功能文件voteaction.php 452
21.4.8 投票功能文件votecount.php 454
21.4.9 票数统计功能文件voteshow.php 456
21.5 小结 459
第22章 在线购物系统 460
22.1 系统分析与总体设计 461
22.1.1 系统功能描述 461
22.1.2 系统结构分析 462
22.1.3 系统流程分析 463
22.1.4 系统目录结构 463
22.2 数据库设计与实现 464
22.2.1 数据库需求分析 464
22.2.2 数据库逻辑分析 465
22.3 公共模块设计 468
22.3.1 数据库公共模块 468
22.3.2 Common.php和global.php单元 470
22.4 产品模块设计 471
22.4.1 产品类型设计 471
22.4.2 产品添加设计 472
22.4.3 产品信息查询 479
22.5 前台页面模块设计 482
22.5.1 首页设计 482
22.5.2 产品详细信息 485
22.5.3 购物车设计 488
22.5.4 结账处理 492
22.5.5 会员申请和登录设计 499
22.5.6 会员账户管理 501
22.6 订单管理模块设计 502
22.7 会员管理模块的设计 511
22.8 重点难点分析 514
22.9 系统应用与扩展 515
22.10 小结 516