第1章 PHP亲密接触 1
1.1 PHP概述 2
1.2搭建PHP环境 3
1.2.1安装Apache服务器 3
1.2.2安装MySQL数据库 4
1.2.3安装PHP运行库 8
1.3 PHP配置文件概述 10
1.4 PHP语法结构 11
1.4.1默认标记 11
1.4.2脚本标记 12
1.4.3短标记 12
1.4.4 ASP风格标记 12
1.5程序注释 14
1.5.1单行注释 14
1.5.2 Perl风格单行注释 14
1.5.3多行注释语法 14
1.6 PHP输出函数 15
1.6.1 print()函数 15
1.6.2 echo()函数 16
1.6.3 printf()函数 16
1.6.4 sprintf()函数 18
1.7实践案例:编写一个PHP程序 18
1.8动手练一练 21
1.8.1练习题 21
1.8.2上机实践 22
第2章 PHP语法基础 23
2.1变量 24
2.1.1变量命名规则 24
2.1.2创建变量 24
2.1.3变量作用域 25
2.2常量 28
2.3数据类型 29
2.3.1单一数据类型 29
2.3.2复合数据类型 31
2.3.3特殊数据类型 31
2.4类型转换 32
2.4.1自动转换 32
2.4.2强制类型转换 33
2.4.3转换函数 34
2.5运算符 36
2.5.1算术运算符 36
2.5.2赋值运算符 37
2.5.3比较运算符 37
2.5.4逻辑运算符 38
2.5.5位运算符 39
2.5.6字符串运算符 39
2.5.7自增和自减运算符 39
2.5.8错误控制运算符 40
2.6运算符优先级 40
2.7表达式 41
2.8实践案例:编写图书收据打印程序 42
2.9动手练一练 44
2.9.1练习题 44
2.9.2上机实践 45
第3章 PHP流程控制语句 46
3.1条件控制语句 47
3.1.1单条件if语句 47
3.1.2双条件if语句 48
3.1.3多条件if语句 49
3.1.4嵌套if语句 51
3.1.5 switch语句 52
3.2循环控制语句 54
3.2.1 while循环语句 54
3.2.2 do while循环语句 55
3.2.3 for循环语句 56
3.2.4 foreach循环语句 59
3.3跳转控制语句 60
3.3.1 break语句 60
3.3.2 continue语句 61
3.3.3 return语句 61
3.4实践案例:在页面上显示前50个素数 62
3.5动手练一练 63
3.5.1练习题 63
3.5.2上机实践 65
第4章 PHP面向对象编程 66
4.1面向对象概述 67
4.1.1什么是对象 67
4.1.2封装 67
4.1.3继承 68
4.1.4多态 68
4.2类和对象 68
4.3类的成员 70
4.3.1字段 70
4.3.2属性 72
4.3.3常量 74
4.3.4方法 75
4.3.5作用域关键字 76
4.4构造函数和析构函数 80
4.4.1构造函数 80
4.4.2析构函数 81
4.5继承 82
4.5.1类继承 82
4.5.2构造函数继承 84
4.6接口 85
4.6.1接口的概念 85
4.6.2定义接口 85
4.6.3实现接口 86
4.7实践案例:编写图书管理系统 87
4.8动手练一练 91
4.8.1练习题 91
4.8.2上机实践 92
第5章 使用PHP函数 93
5.1数学函数 94
5.2日期和时间函数 95
5.2.1 date()函数 96
5.2.2 checkdate()函数 98
5.2.3 gmdate()函数 98
5.2.4 getdate()函数 99
5.2.5 time()函数 100
5.3文件引用函数 101
5.3.1 include()函数 101
5.3.2 require()函数 103
5.3.3 include_once()函数和require_once()函数 104
5.4创建自定义函数 104
5.4.1自定义函数格式 104
5.4.2调用自定义函数 105
5.4.3函数的参数 106
5.5函数的高级应用 109
5.5.1嵌套函数 109
5.5.2递归函数 109
5.6实践案例:实现网站后台管理 110
5.7动手练一练 113
5.7.1练习题 113
5.7.2上机实践 114
第6章 操作字符串 115
6.1字符串简介 116
6.2定义字符串 117
6.2.1使用单引号 117
6.2.2使用双引号 117
6.2.3使用定界符 118
6.3字符串运算符 119
6.4字符串操作 119
6.4.1去除字符串首尾空格和特殊字符 119
6.4.2字符串大小写转换 121
6.4.3填充字符串 124
6.4.4获取字符串的长度 125
6.4.5截取字符串 126
6.4.6比较字符串 128
6.4.7检索字符串 130
6.4.8替换字符串 133
6.4.9分隔字符串 136
6.4.10将字符串转换为 HTML 138
6.4.11将HTML转换为字符串 139
6.5实践案例:实现网站后台登录功能 140
6.6动手练一练 143
6.6.1练习题 143
6.6.2上机实践 144
第7章 操作数组 146
7.1数组概述 147
7.1.1创建数组 147
7.1.2测试数组 149
7.1.3遍历数组 151
7.1.4统计数组中的元素 153
7.2数组的基本操作 155
7.2.1定位数组 155
7.2.2增加数组元素 159
7.2.3删除数组元素 161
7.3管理数组 162
7.3.1合并数组 163
7.3.2截取数组 164
7.3.3从数组中提取元素 167
7.4数组的排序 169
7.4.1按值对数组排序 169
7.4.2按键对数组排序 172
7.4.3排序时保持键-值对 173
7.4.4实现级联排序 174
7.4.5自定义排序算法 176
7.5其他数组函数 177
7.6实践案例:实现图书网站首页 178
7.7动手练一练 183
7.7.1练习题 183
7.7.2上机实践 184
第8章 操作HTML页面 186
8.1 HTML表单 187
8.1.1 HTML表单元素 187
8.1.2创建发表评论表单 188
8.2使用PHP为表单元素赋值 190
8.3提交表单数据 191
8.3.1 GET和POST提交方式 192
8.3.2获取POST提交的数据 192
8.3.3获取GET提交的数据 193
8.4获取表单中的多值 195
8.5遍历表单 197
8.6处理URL中的参数 198
8.6.1编码操作 199
8.6.2解码操作 200
8.7 Session管理 200
8.7.1 Session简介 201
8.7.2获取Session ID 202
8.7.3启动Session 203
8.7.4删除Session 206
8.8 Cookie管理 207
8.8.1创建Cookie 207
8.8.2访问Cookie 208
8.8.3删除Cookie 210
8.9实践案例:实现图书网站购物车 211
8.10动手练一练 218
8.10.1练习题 218
8.10.2上机实践 219
第9章 操作文件和目录 220
9.1文件处理 221
9.1.1打开文件 221
9.1.2关闭文件 222
9.1.3写入文件 222
9.1.4读取文件 225
9.1.5删除文件 231
9.1.6复制文件 232
9.2获取文件属性 232
9.3目录处理 234
9.3.1打开和关闭目录 234
9.3.2读取目录 235
9.3.3解析目录 237
9.3.4新建目录 239
9.3.5删除目录 239
9.4获取目录容量 240
9.5文件上传 242
9.6文件下载 245
9.7实践案例:实现图书网站的留言本模块 247
9.8动手练一练 250
9.8.1练习题 250
9.8.2上机实践 251
第10章 操作数据库 252
10.1建立到MySQL的连接 253
10.1.1建立普通连接 253
10.1.2建立持久化连接 254
10.1.3关闭连接 255
10.2选择数据库 255
10.3基本操作 256
10.3.1执行SQL语句 256
10.3.2获取数据 259
10.3.3显示数据 262
10.4数据分页显示 266
10.5数据库高级操作 269
10.5.1获取数据库信息 269
10.5.2获取表信息 271
10.5.3获取列信息 272
10.6读取数据库显示乱码解决方案 275
10.6.1了解产生乱码的原因 275
10.6.2 PHP网页的编码 276
10.6.3 MySQL数据库的编码 276
10.7实践案例:实现基于数据库的图书网站 277
10.8动手练一练 282
10.8.1练习题 282
10.8.2上机实践 283
第11章 应用Ajax技术 284
11.1 Ajax概述 285
11.2 XMLHttpRequest对象 286
11.2.1创建XMLHttpRequest对象 286
11.2.2 XMLHttpRequest对象的属性和方法 287
11.2.3 XMLHttpRequest对象的生命周期 289
11.2.4发送请求和处理回调函数 290
11.3普通文本格式 292
11.3.1发送带参数的普通请求 293
11.3.2处理文本格式的响应 296
11.4 XML格式 297
11.4.1发送XML请求 297
11.4.2处理XML格式的响应 298
11.5处理JSON格式响应 300
11.6 Ajax中文乱码解决方案 303
11.6.1客户端乱码 303
11.6.2服务器端乱码 303
11.7实践案例:实现自动完成的图书搜索功能 304
11.8动手练一练 309
11.8.1练习题 309
11.8.2上机实践 310
第12章 PHP高级开发技术 311
12.1异常处理 312
12.1.1异常处理语句 312
12.1.2内置的异常类 314
12.1.3配置指令 315
12.2正则表达式处理 316
12.2.1 Perl风格正则表达式 316
12.2.2 POSIX风格正则表达式 318
12.2.3正则表达式函数 320
12.3 XML处理 325
12.3.1生成XML 325
12.3.2 DOM解析XML 327
13.3.3 SimpleXML解析XML 330
12.4实践案例:操作学生信息XML文档 332
12.5动手练一练 337
12.5.1练习题 337
12.5.2上机实践 338
第13章 留言本 339
13.1系统分析 340
13.2数据库设计 340
13.3公共模块设计 341
13.3.1配置文件 341
13.3.2全局变量 342
13.3.3页面头部信息 342
13.3.4函数库 343
13.4基本功能实现 343
13.4.1发表留言 343
13.4.2查看留言 346
13.5管理功能实现 348
13.5.1管理员登录 348
13.5.2回复留言 350
13.5.3删除留言 353
13.6总结 353
练习题参考答案 354