目  录
         第1篇  PHP动态网站和PHP程序语言基础入门篇
         第1章  准备基础知识、开发环境及配置
         运行环境 2
         视频讲解:47分钟
         1.1  正确认识PHP动态网站开发 3
         1.1.1  正确认识PHP的开发工具 3
         1.1.2  正确认识PHP的运行环境 3
         1.1.3  关于标准和实现 3
         1.2  安装和配置PHP动态网站的
         运行环境 4
         1.2.1  下载和安装PHP应用程序
         服务器 4
         1.2.2  了解PHP的版本 5
         1.2.3  在Apache下配置PHP 6
         1.2.4  在IIS7.0下配置PHP 9
         第2章  怎样创建和执行PHP动态网
         页——基本操作和基本原理 11
         视频讲解:26分钟
         2.1  创建第一个PHP网页 12
         2.1.1  用什么来创建PHP网页 12
         2.1.2  在哪里放置PHP网页 12
         2.1.3  通过服务器请求PHP网页 12
         2.2  PHP网络应用程序的工作原理 13
         2.2.1  Web应用程序的基本工作
         原理 13
         2.2.2  PHP网络应用程序的基本
         工作原理 14
         2.3  怎样在PHP网页中编写PHP
         程序代码 15
         2.3.1  定义PHP执行块 16
         2.3.2  PHP输出指令 17
         2.3.3  什么是script语言 17
         2.3.4  PHP代码与HTML代码
         混合 18
         第3章  程序开发的基石——声明变量和
         使用变量 19
         视频讲解:53分钟
         3.1  变量的声明 20
         3.1.1  声明和命名变量 20
         3.1.2  变量的命名规范 21
         3.1.3  变量的数据类型 21
         3.1.4  易犯的错误 24
         3.2  在程序中使用变量 26
         3.2.1  为变量赋值和更改变量值 26
         3.2.2  使用变量和获取变量值 27
         3.2.3  变量的初始化 28
         3.3  常量 28
         3.3.1  PHP内建常量 29
         3.3.2  自定义常量 30
         3.4  变量的传值和传址 31
         3.4.1  传值变量——按值传递 31
         3.4.2  传址变量——按引用传递 31
         3.4.3  变量的引用 32
         3.5  内存使用规则——堆和栈 33
         3.5.1  栈的使用规则 33
         3.5.2  堆的使用规则 34
         3.6  数据类型转换 35
         3.6.1  强制数据类型转换 35
         3.6.2  隐式数据类型转换 35
         3.7  可变变量 36
         第4章  PHP语法规范和良好的
         编程习惯 37
         视频讲解:60分钟
         4.1  空白和多行书写 38
         4.1.1  空白 38
         4.1.2  多行书写 38
         4.2  “->”语法 38
         4.3  卷曲花括号 39
         4.3.1  引号中包含变量 39
         4.3.2  用卷曲花括号界定变量名 39
         4.4  分号 40
         4.5  圆括号 40
         4.6  字母的大小写 41
         4.7  程序注释 41
         4.7.1  单行注释和尾随注释 41
         4.7.2  多行注释 41
         4.7.3  文档注释 42
         4.7.4  使用HTML注释 42
         4.8  关键字 43
         4.9  培养良好的编程习惯 43
         4.9.1  通用的变量名、方法名、类名
         命名约定 43
         4.9.2  重构 45
         4.9.3  使用注释 45
         4.9.4  养成控制内存的好习惯 46
         4.9.5  优化代码的一般常识 47
         第5章  数据运算和运算规则 49
         视频讲解:37分钟
         5.1  PHP表达式 50
         5.1.1  简单表达式和复合表达式 50
         5.1.2  赋值表达式和单值表达式 50
         5.2  算术运算符 50
         5.3  字符串运算符 52 
         5.4  赋值运算符 53
         5.5  比较运算符和逻辑运算符 54
         5.5.1  考虑数据类型 55
         5.5.2  全等运算符 56
         5.5.3  易犯错的比较运算 57
         5.6  位运算符 57
         5.7  其他运算符 58
         5.7.1  三元条件运算符 58
         5.7.2  instanceof运算符 59
         5.8  运算符的使用规则 59
         5.8.1  运算符优先级规则 59
         5.8.2  运算符结合规则 59
         第6章  流程控制 61
         视频讲解:33分钟
         6.1  语句和语句块 62
         6.2  if...else条件语句 62
         6.3  switch条件语句 66
         6.4  do...while循环 68
         6.4.1  第一种模式 68
         6.4.2  第二种模式 68
         6.5  for循环 69
         6.6  foreach循环 70
         6.7  其他的流程控制 70
         6.7.1  break语句 71
         6.7.2  continue语句 71
         6.7.3  declare语句 72
         6.7.4  try...catch...throw语句 72
         6.7.5  goto语句 73
         6.8  流程控制总结 74
         第2篇  PHP数据处理和函数应用篇
         第7章  变量处理 77
         视频讲解:70分钟
         7.1  呈现变量的结构 78
         7.2  强制数据类型转换 79
         7.2.1  转换为整型 79
         7.2.2  转换为逻辑值 80
         7.2.3  转换为浮点数 80
         7.2.4  字符串转换 80
         7.2.5  转换为数组 80
         7.2.6  转换为对象 81
         7.2.7  字符串转换为数值 81
         7.2.8  使用settype()函数转换数据
         类型 81
         7.2.9  使用其他函数转换数据类型 81
         7.3  变量的数据类型判断 82
         7.4  判断变量是否为空 83
         7.5  isset()语言结构和unset()语言
         结构 84
         第8章  数组、多维数组、复合数组
         (哈希、映射) 85
         视频讲解:90分钟
         8.1  创建数组 86
         8.1.1  创建数组的基本方法 86
         8.1.2  索引数组 86
         8.1.3  多维数组 88
         8.1.4  复合数组 89
         8.1.5  删除数组或数组元素 91
         8.2  使用运算符进行数组运算 91
         8.3  数组操作函数 92
         8.3.1  常用的基本操作 94
         8.3.2  获取数组的元素数量 95
         8.3.3  分别获取数组的键和值 95
         8.3.4  遍历数组 96
         8.3.5  数组的排序 98
         第9章  在PHP中使用正则表达式 102
         视频讲解:45分钟
         9.1  字符串处理函数 103
         9.1.1  加密算法 106
         9.1.2  使用数组语法处理字符串 107
         9.2  使用正则表达式处理字符串 107
         9.2.1  正则表达式基本语法 108
         9.2.2  优先权顺序 112
         9.3  使用函数处理正则表达式 113
         9.3.1  Perl兼容正则表达式函数 113
         9.3.2  了解PCRE模式修正符 120
         9.3.3  使用正则表达式判断字符串
         是否是全中文 121
         9.4  POSIX扩展正则表达式函数 121
         思考与练习 122
         第10章  处理日期和时间 123
         视频讲解:47分钟
         10.1  使用DateTime类处理日期和
         时间 124
         10.1.1  日期和时间操作中常用到的
         概念 124
         10.1.2  配置选项 125
         10.1.3  DateTime类的构造方法 125
         10.1.4  格式化日期和时间 126
         10.1.5  修改日期和时间 128
         10.2  使用DateTimeZone类处理
         时区 129
         10.3  使用DateInterval类处理时间
         间隔 130
         10.3.1  createFromDateString()方法 131
         10.3.2  format()方法 131
         10.3.3  使用日期时间间隔改变
         DateTime 132
         10.4  使用DatePeriod类创建
         时期段 133
         10.5  用于处理日期和时间的相关
         函数 135
         第11章  数学运算和其他常用全局
         函数 137
         视频讲解:20分钟
         11.1  数学运算函数 138
         11.2  其他常用函数 140
         11.2.1  中止执行当前网页代码——
         exit()函数和die()函数 140
         11.2.2  延迟执行——sleep()函数、
         usleep()函数、time_nanosleep()
         函数、time_sleep_until()
         函数 141
         11.2.3  生成唯一的ID——uniqid()
         函数 142
         11.2.4  二进制转换——pack()函数、
         unpack()函数 143
         第12章  自定义函数及函数对变量的
         影响 145
         视频讲解:71分钟
         12.1  函数的定义 146
         12.2  函数的调用 146
         12.2.1  在函数中定义参数的
         初始值 147
         12.2.2  条件函数和嵌套函数 147
         12.2.3  可变长度参数和函数处理
         函数 148
         12.2.4  形参和实参 148
         12.2.5  匿名函数的定义 149
         12.3  变量的作用范围和生命周期 150
         12.3.1  script级变量和局部变量 150
         12.3.2  全局变量 150
         12.3.3  静态变量 151
         12.4  在函数中使用引用 152
         12.4.1  在函数中传递引用 152 
         12.4.2  函数返回引用 153
         12.5  函数定义的位置和共享——动态
         包含 154
         12.5.1  配置动态包含的目录 155
         12.5.2  被包含文件的位置和权限 155
         12.5.3  其他实现动态包含的语言
         结构 155
         12.5.4  被包含文件的返回值 156
         第3篇  与Web页面、Ajax交互应用程序篇
         第13章  人机交互的基石——动态网页的
         请求和响应 158
         13.1  了解请求和响应的基本过程 159
         13.1.1  请求和响应的基本过程 159
         13.1.2  了解URI、URL和URN 160
         13.2  HTTP协议基础 161
         13.2.1  了解HTTP消息的内容 161
         13.2.2  了解HTTP请求的内容 162
         13.2.3  了解HTTP响应的内容 163
         13.2.4  了解HTTP消息报头的
         内容 165
         13.3  在PHP程序中获取和处理请求
         报头 166
         13.4  对请求作出响应 169
         13.4.1  返回消息正文给客户端 170
         13.4.2  返回响应状态行和响应报头
         给客户端 170
         13.4.3  缓存对消息报头的影响 171
         13.4.4  重定向 173
         13.4.5  设置响应内容的格式和
         类型 174
         13.4.6  遍历响应报头 174
         13.5  使用网页缓存优化网络程序 175
         13.5.1  服务器端网页缓存的处理 175
         13.5.2  最佳实践——缓存服务器端
         复杂运算 177
         13.5.3  客户端网页缓存的处理 178
         思考与练习 180
         第14章  使用HTML表单开发PHP交互式
         应用程序 181
         14.1  创建表单 182
         14.1.1  HTML表单基本知识 182
         14.1.2  使用样式表控制表单的
         呈现 185
         14.1.3  创建访客留言表单 186
         14.2  接收表单数据 188
         14.2.1  了解POST和GET方法 188
         14.2.2  接收表单提交的数据——POST
         和GET方法 189
         14.2.3  易犯的错误——处理单名
         多值表单 191
         14.2.4  遍历表单变量 192
         14.2.5  处理结果不良好的控件 192
         14.2.6  其他处理表单的方法 193
         14.2.7  关于图形提交按钮 194
         14.3  使用PHP实现文件上传 194
         14.4  关于register_globals配置 197
         思考与练习 198
         第15章  人机交互的状态维护——
         Session、Cookie和状态
         管理 199
         15.1  理解Session和Cookie 200
         15.1.1  什么是Cookie 200
         15.1.2  什么是Session 201
         15.1.3  了解Cookie的格式和内容 201
         15.1.4  Session和Cookie的使用
         环境 203
         15.2  使用Cookie完成状态管理 203
         15.2.1  怎样传送和使用Cookie 204
         15.2.2  创建Cookie 205
         15.2.3  访问Cookie 205
         15.2.4  设置Cookie路径 206
         15.2.5  易犯的错误——检查浏览器
         是否接受Cookie 206
         15.3  使用Session完成状态管理 208
         15.3.1  激活PHP网页中的Session
         支持 208
         15.3.2  怎样传送和使用Session 209
         15.3.3  创建和管理Session 212
         15.3.4  启动和结束Session 214
         15.3.5  Session的相关配置 215
         15.3.6  管理Session的相关函数 218
         15.3.7  使用URL参数传递
         Session ID 222
         15.4  其他维护状态的方法 222
         15.5  易犯的错误 223
         思考与练习 223
         第16章  JavaScript、Ajax、jQuery和
         PHP之间的交互 224
         16.1  一个标准的Ajax应用所应
         具备的步骤 225 
         16.1.1  编写PHP程序处理Ajax
         请求和作出响应 226
         16.1.2  编码混乱问题的解决 227
         16.1.3  使用代理实现跨域请求 227
         16.2  使用JSON编码 228
         16.2.1  对JSON格式的字符串进行
         解码 229
         16.2.2  对变量进行JSON编码 229
         16.2.3  处理解析错误 230
         16.2.4  客户端数据处理 230
         16.3  开发jQuery for PHP程序 231
         第17章  使用HTML 5服务器推送技术和
         Web Socket实现交互操作 233
         17.1  服务器推送技术 234
         17.1.1  使用Server-Sent Event入门 234
         17.1.2  服务器要求 235
         17.1.3  使用EventSource对象 236
         17.2  Web Socket套接字连接 237
         17.2.1  使用Web Socket入门 237
         17.2.2  关于Web Socket通信协议 239
         第4篇  PHP面向对象开发、模式和应用篇 
         第18章  面向对象编程(OOP)——创建
         类和使用类 242
         18.1  澄清——必须首先建立正确的
         面向对象编程思想 243
         18.1.1  对象的抽象 243
         18.1.2  对象的使用 244
         18.1.3  易犯的错误——不要让“一切
         皆是对象”变成了“一切皆
         是类” 244
         18.1.4  面向对象程序设计的优点和
         基本特征 245
         18.1.5  对比——面向对象和结构化
         程序设计的区别 245
         18.2  创建类 246
         18.2.1  创建一个PHP类 246
         18.2.2  类的定义 247
         18.2.3  易犯的错误——类与PHP
         执行块 248
         18.3  类的使用 249
         18.3.1  怎样创建类的实例 249
         18.3.2  访问对象属性 250
         18.3.3  访问对象方法 250
         18.3.4  访问常量、静态方法和访问
         静态属性 250
         18.3.5  在类体中使用关键字$this 250
         18.3.6  使用可变变量访问成员 251
         18.4  属性的初始化 252
         18.4.1  内联方式初始化属性 253
         18.4.2  实例化时初始化属性 253
         18.5  定义方法 253
         18.5.1  方法参数的类型提示 254
         18.5.2  构造方法和析构方法 255
         18.5.3  易犯的错误 257
         18.6  对象成员的迭代 258
         18.7  PHP?5和PHP?4在使用对象上的
         不同 258
         第19章  建立更可靠的OOP程序——类和
         成员的访问控制 260
         19.1  了解成员访问控制 261
         19.2  public成员(公共成员) 262
         19.3  private成员(私有成员) 262
         19.4  protected成员
         (受保护的成员) 263
         第20章  重复使用类——继承和组合 265
         20.1  类的继承 266
         20.1.1  创建子类 266
         20.1.2  使用基类的构造器方法 267
         20.1.3  使用关键字parent访问
         基类 267
         20.1.4  关于多重继承的错误
         认识 268
         20.1.5  检测继承关系 269
         20.1.6  创建子类时的注意事项 269
         20.1.7  扩展内建PHP类 270
         20.2  在类中使用final修饰符禁止
         继承 270
         20.3  类的组合 271
         20.3.1  实现类的组合 271
         20.3.2  组合的优点 272
         20.3.3  了解is-a和has-a 272
         20.3.4  关于聚合和组合 272
         第21章  静态成员、静态类和枚举 273
         21.1  为什么要定义静态成员和
         静态类 274
         21.2  创建静态成员 274
         21.2.1  访问静态成员 275
         21.2.2  易犯的错误——使用静态
         成员时的注意事项 275
         21.2.3  静态成员的特殊用途 276
         21.2.4  静态成员和继承 276
         21.2.5  后期静态绑定 277
         21.3  静态类 278
         21.4  枚举 279
         21.4.1  创建枚举 279
         21.4.2  使用枚举的优点 280
         第22章  多态——重载和覆载 281
         22.1  方法的重载 282
         22.1.1  重载参数列表的数量 282
         22.1.2  重载参数列表的数量和
         类型 283
         22.1.3  静态方法重载 284
         22.2  重写方法 285
         第23章  接口和抽象——错误最深重的
         地方 288
         23.1  创建和实现接口 289
         23.1.1  接口的定义 289
         23.1.2  接口的实现 289
         23.1.3  常量的实现 290
         23.1.4  在接口和实现接口的类中
         使用默认参数值 290
         23.1.5  接口的合并 291
         23.2  创建抽象类 291
         23.3  接口和抽象类的区别 292
         23.3.1  用一句话来区分接口和
         抽象类 293
         23.3.2  唯一能使用抽象类的地方 293
         第24章  类、接口、函数和常量的
         组织——命名空间 296
         24.1  为什么要使用命名空间——预防
         冲突 297
         24.2  创建命名空间 297
         24.2.1  定义命名空间 298
         24.2.2  使用命名空间实现合理的
         分类管理 300
         24.2.3  命名空间的命名 301
         24.3  使用命名空间 301
         24.3.1  引用命名空间 301
         24.3.2  命名空间使用的优先策略 302
         24.3.3  使用namespace关键字和
         __NAMESPACE__常量 303
         24.3.4  导入命名空间 303
         24.3.5  名称解析规则 304
         第25章  密封类和动态类 306
         25.1  动态属性 307
         25.1.1  使用魔术方法__get()和
         __set() 307
         25.1.2  使用魔术方法__isset()和
         __unset() 307
         25.2  动态方法 309
         25.3  创建密封类 309
         第26章  使用魔术方法 310
         26.1  类的自动加载和重用 311
         26.2  转换为字符串 311
         26.2.1  __set_state()魔术方法 312
         26.2.2  __invoke()魔术方法 313
         26.3  序列化和逆序列化 314
         26.3.1  执行序列化和逆序列化 314
         26.3.2  自定义序列化和逆序列化 314
         26.4  对象的克隆 316
         26.4.1  浅表克隆 316 
         26.4.2  深度克隆 316
         26.4.3  使用魔术方法__clone() 317
         第27章  反射 319
         27.1  反射要实现什么 320
         27.2  反射API 320
         27.3  用于实现反射的函数 327
         第28章  PHP设计模式 330
         28.1  单体模式 331
         28.2  工厂模式 332
         28.2.1  简单工厂模式 333
         28.2.2  工厂方法模式 334
         28.2.3  抽象工厂模式 335
         28.3  建造者模式 336
         28.4  观察者模式 337
         28.5  装饰模式 338
         第5篇  PHP和MySQL数据库应用集成篇 
         第29章  安装、配置和使用MySQL数据库
         服务器 342
         29.1  安装和配置MySQL数据库
         服务器 343
         29.2  使用MySQL数据库服务器 344
         29.2.1  连接MySQL服务器 344
         29.2.2  修改密码 345
         29.2.3  用户账户管理 345
         29.2.4  数据类型 346
         29.2.5  数据库操作 348
         29.2.6  MySQL数据备份与恢复 349
         第30章  使用phpMyAdmin管理
         MySQL 352
         30.1  配置phpMyAdmin 353
         30.2  创建数据库 355
         30.3  设计数据库结构 355
         30.4  录入数据 356
         第31章  使用PDO接口访问数据库 357
         31.1  配置PHP使用PDO 358
         31.2  数据库连接和配置数据源 358
         31.2.1  数据库连接 358
         31.2.2  数据库连接驱动 359
         31.3  基本数据库查询操作 360
         31.3.1  查询和显示数据记录 360
         31.3.2  遍历列出数据表的
         内容 360
         31.4  修改数据 361
         31.4.1  插入数据记录 361
         31.4.2  更新数据记录 362
         31.4.3  删除数据记录 363
         31.4.4  插入和显示数据库中的图片
         (处理二进制数据) 364
         31.5  操作数据库结构 366
         31.6  在PHP中应用PDO的基本
         步骤 366
         31.6.1  创建连接 367
         31.6.2  执行查询或更新 370
         31.6.3  处理结果 371
         31.6.4  关闭连接 371
         31.7  其他常用数据库连接的连接
         方式 372
         31.7.1  连接到SQL Server和Sybase
         数据库 372
         31.7.2  连接到Firebird和Interbase
         数据库 372
         31.7.3  连接到IBM DB2数据库 372
         31.7.4  连接到Oracle数据库 373
         31.7.5  连接到ODBC或DB2
         数据库 373
         31.7.6  连接到PostgreSQL
         数据库 373
         31.7.7  连接到SQLite数据库 374
         31.8  通过ODBC连接MySQL
         数据库 374
         第32章  数据库设计和SQL语法 377
         32.1  数据库设计基本知识 378
         32.1.1  关于数据库 378
         32.1.2  设计数据库 379
         32.2  SQL语法入门 381
         32.2.1  语法基础知识 382
         32.2.2  定义记录集的列 383
         32.2.3  限制记录集中的记录 384
         32.2.4  对记录集中的记录进行
         排序 385
         32.2.5  联接表 385
         32.3  创建和使用SQL存储过程 389
         32.3.1  使用命令行创建存储
         过程 390
         32.3.2  为存储过程定义参数 391
         32.3.3  调用存储过程 391
         32.3.4  为调用存储过程定义参数 392
         32.4  SQL注入缺陷和参数化
         查询 394
         32.4.1  基本的SQL注入预防
         措施 394
         32.4.2  使用参数化查询预防SQL
         注入 395
         32.4.3  关于魔术引号和magic_quotes_
         gpc导致的SQL注入 396
         思考与练习 397
         第33章  深入探究PDO 398
         33.1  了解PDO编程模型 399
         33.1.1  了解PDO类 399
         33.1.2  了解PDOStatement类 399
         33.1.3  了解PDOException类 400
         33.2  使用预处理语句和参数化
         查询 400
         33.2.1  使用预处理 401
         33.2.2  指定参数和实现参数化
         查询 401
         33.3  游标和数据提取 403
         33.3.1  游标的类型 404
         33.3.2  数据提取方法 404
         33.3.3  数据提取方法和提取模式
         的配合 406
         33.3.4  关于元数据 413
         33.4  关于PDO连接属性 414
         33.4.1  字段名区分大小写 414
         33.4.2  了解PDO持久连接 415
         33.5  错误和错误处理 415
         第34章  结果集分页实用模块 417
         34.1  结果集分页的方式 418
         34.2  结果集分页的技术原理 418
         34.3  结果集分页的范例 419
         34.4  使用LIMIT子句分页 422
         第35章  使用MySQL数据库函数和
         MySQLi扩展 426
         35.1  配置MySQL数据库函数 427
         35.1.1  MySQL函数运行时配置 427
         35.1.2  MySQL函数资源类型 427
         35.1.3  预定义常量 428
         35.2  基本数据库查询操作 428
         35.2.1  查询和显示数据记录 428
         35.2.2  遍历列出数据库内容 429
         35.3  修改数据 430
         35.3.1  插入数据记录 430
         35.3.2  更新数据记录 431
         35.3.3  删除数据记录 431
         35.3.4  插入和显示数据库中的图片
         (二进制数据) 432
         35.3.5  使用MySQL数据库函数操控
         数据库的基本步骤 434
         35.4  使用MySQLi扩展 437
         35.4.1  MySQLi运行时配置 437
         35.4.2  MySQLi基本的使用方法 438
         35.4.3  使用MySQLi类 440
         35.4.4  使用mysqli_stmt类 441
         35.4.5  使用mysqli_result类 442
         第6篇  PHP基础架构、扩展和框架应用篇
         第36章  PHP网络应用程序基础
         架构 444
         36.1  PHP网络应用程序的三层
         架构模型 445
         36.2  从C/S架构到B/S架构 446
         36.2.1  从三层架构到N层架构 448
         36.2.2  PHP网页在三层架构中的
         地位 448
         第37章  PHP扩展——PECL和
         PEAR 449
         37.1  使用PHP扩展 450
         37.2  安装和使用PEAR扩展 451
         37.2.1  安装PEAR环境 451
         37.2.2  管理PEAR扩展 452
         37.2.3  使用扩展包 452
         第38章  使用PHP发送和接收电子
         邮件 453
         38.1  安装和使用SMTP服务 454
         38.1.1  安装SMTP服务 454
         38.1.2  配置SMTP服务 455
         38.1.3  配置Outlook使用本地SMTP
         服务发送邮件 456
         38.1.4  区分POP3和SMTP服务 457
         38.2  创建发送邮件的PHP应用
         程序 458
         38.2.1  了解mail()函数 458
         38.2.2  创建简单的邮件发送程序 459
         38.2.3  SMTP服务和mail()函数的
         工作原理 460
         38.3  创建增强的邮件发送程序 460
         38.3.1  安装和配置 461
         38.3.2  使用远程SMTP服务 461
         38.3.3  发送带附件的电子邮件 462
         38.3.4  发送多媒体邮件 463
         38.3.5  群发邮件 465
         38.4  使用POP3方式收信 466
         第39章  使用PHP操作文件系统 468
         39.1  了解目录和文件的路径 469
         39.2  获取目录和文件的信息 470
         39.2.1  获取磁盘的总大小和可用
         空间 470
         39.2.2  获取目录和文件的属性
         信息 470
         39.2.3  遍历文件夹下的目录和
         文件 471
         39.3  处理目录 474
         39.3.1  目录的创建、删除、重命名和
         移动 474
         39.3.2  删除目录树 475
         39.3.3  处理当前网页所在目录 476
         39.4  处理文件 476
         39.4.1  文件的创建、删除、复制、
         重命名和移动 476
         39.4.2  向文件中添加数据 477
         39.4.3  读取文件内容 479
         39.4.4  文件下载 480
         第40章  使用W3C DOM处理XML
         文档 482
         40.1  一切皆是节点——学习DOM的
         首要认识 483
         40.1.1  DOM API的节点类型 483
         40.1.2  节点的层次关系 483
         40.1.3  DOM基于节点的浏览 484
         40.2  使用PHP DOM处理XML
         文档 485
         40.2.1  PHP DOM API 486
         40.2.2  使用字符串创建一个新的
         DOM文档对象 494
         40.2.3  使用文件创建一个新的DOM
         文档对象 495
         40.2.4  使用版本号和编码创建一个空
         的DOM文档对象 495
         40.2.5  保存和写出一个DOM文档
         对象 495
         40.2.6  遍历节点树 496
         40.2.7  使用XPath从XML文档中
         提取数据 499
         40.3  修改XML文档 499
         40.3.1  添加新节点 499
         40.3.2  为元素节点添加
         新属性 500
         40.3.3  通过克隆的方法创
         建节点 501
         40.3.4  修改XML文档中的节点、
         内容和值 502 
         40.3.5  删除XML文档中的节点、
         内容和值 503
         第41章  使用SAX处理XML文档 504
         41.1  什么是SAX 505
         41.2  使用SAX解析XML的通用
         步骤 507
         41.2.1  出错代码和常量 511
         41.2.2  SAX解析函数详解 512
         第42章  使用Zend框架 518
         42.1  安装和配置Zend框架 519
         42.2  使用Zend框架 519
         第7篇  PHP程序调试、优化和部署篇
         第43章  处理程序异常——建立可靠的
         应用程序 524
         43.1  错误和异常情况 525
         43.2  异常情况处理 526
         43.2.1  使用try…catch语句 526
         43.2.2  使用throw语句 527
         43.2.3  何时使用异常捕捉 528
         43.2.4  自定义捕捉异常的方法 528
         43.2.5  自定义捕捉错误的方法 529
         43.2.6  将出错信息写入日志 530
         43.2.7  错误控制运算符 531
         43.3  使用Exception处理异常错误
         信息 531
         43.4  条件catch语句 532
         第44章  使用Zend Debugger调试PHP
         程序代码——原理与范例 533
         44.1  调试PHP的方法 534
         44.1.1  使用出错信息 534
         44.1.2  服务器日志 535
         44.1.3  断点调试 535
         44.2  配置PHP调试环境 535
         44.2.1  安装和配置Zend Debugger 536
         44.2.2  安装和配置Zend Studio 537
         44.3  使用Zend Studio进行调试 538
         44.3.1  调试操作 539
         44.3.2  调试工具栏 540
         44.3.3  查看变量 541
         44.3.4  设置断点 541
         44.3.5  监控变量 542
         44.3.6  调用堆栈窗口 542
         44.4  使用script调试工具范例
         实战 543
         44.4.1  定义一个用于调试的PHP
         范例网页 543
         44.4.2  调试实战 544
         第45章  PHP事务和关键应用程序
         开发 548
         45.1  理解事务 549
         45.1.1  事务的工作过程 549
         45.1.2  事务的共同特点 549
         45.2  在PHP应用程序中使用事务 550
         45.2.1  在PHP网页中使用PDO自身
         事务处理系统 551
         45.2.2  使用数据库系统完成事务 552
         第46章  PHP网络应用程序的安全 554
         46.1  身份验证和授权 555
         46.1.1  了解Apache提供的身份验证
         功能 555
         46.1.2  关于匿名访问站点 555
         46.1.3  创建基本身份验证站点 555
         46.1.4  摘要式身份验证 559
         46.1.5  分级访问控制 562
         46.1.6  使用表单的身份验证和基于
         角色的授权系统 562
         46.2  传输过程中的加密 562
         46.2.1  加密的工作原理 563
         46.2.2  安全证书的工作原理 564
         46.2.3  使用隐私和安全证书 564
         46.3  配置Apache支持SSL 564
         46.3.1  安装OpenSSL 565
         46.3.2  创建服务器证书和私钥 565
         46.3.3  配置Apache和mod_ssl 567
         46.3.4  信任自签名证书 569
         46.3.5  创建CA 571
         46.3.6  使用CA签名和颁发
         证书 572
         46.3.7  在客户端安装根证书 573
         46.4  使用浏览器证书 574
         46.4.1  使用浏览器证书的注意
         事项 575
         46.4.2  创建浏览器证书 575
         46.4.3  安装浏览器证书 575
         46.4.4  启用浏览器证书 576
         46.4.5  使用客户证书映射 580
         第47章  PHP网页的国际化、区域化和
         多国语言包 582
         47.1  了解网页字符编码 583
         47.1.1  计算机文字字符编码
         简介 583
         47.1.2  文档字符集和选择字符
         编码 585
         47.1.3  在HTML文档中使用字符
         引用 585
         47.2  字符编码和PHP网页 586
         47.2.1  指定网页字符编码 586
         47.2.2  字符编码的优先级 587 
         47.2.3  乱码产生的根源和解决
         方案 587
         47.2.4  为PHP网页实际编码 588
         47.2.5  创建多语言网站 588
         47.3  区域化设置和PHP网页 590
         47.3.1  国际化和区域化设置 590
         47.3.2  区域化设置和字符集的
         匹配 591
         47.3.3  使用setlocale()函数设置
         区域化 593
         47.4  创建PHP网页实现国际化和
         区域化 594
         47.4.1  了解国际化和区域化的
         相关函数 594
         47.4.2  制作资源包 595
         47.4.3  放置资源包 598
         思考与练习 598
         附录A  保留的PHP关键字 599
         附录B  常用字符集速查表 600
         附录C  PHP支持的时区字符串列表 601
         附录D  php.ini核心配置选项说明 607
         附录E  区域标识符对照表 612
         附录F  Linux+Apache+MySQL+ PHP
         (LAMP)安装和配置 614
         F.1  安装和配置Apache 614
         F.2  安装和配置PHP 615
         F.3  安装和配置MySQL 617
         附录G  关于PHP?6的介绍 618
         附录H  参考文献以及资料来源 619
         参考网址 619
         参考图书 620
         参考规范及标准 621
      · · · · · ·     (
收起)