图书目录

第 1 篇 基 础 知 识 

第 1 章 PHP 概述及环境搭建..................................................................................3 

1.1 PHP 概述 ........................................................................................................................... 3 

1.2 LAMP 开发组合概述......................................................................................................... 4 

1.3 Linux 系统下环境的搭建................................................................................................... 4 

1.4 Windows 系统下环境的搭建.............................................................................................. 7 

1.4.1 安装和配置 Apache ................................................................................................ 7 

1.4.2 安装和配置 MySQL ............................................................................................. 11 

1.4.3 安装 PHP.............................................................................................................. 15 

1.5 几种综合网络服务器概述................................................................................................ 17 

1.5.1 AppServ 的安装及配置......................................................................................... 17 

1.5.2 XAMPP ................................................................................................................ 19 

1.6 几种 PHP 集成开发环境以及开发工具............................................................................ 20 

1.6.1 Eclipse+PHPEclipse .............................................................................................. 20 

1.6.2 VIM...................................................................................................................... 23 

1.6.3 EditPlus ................................................................................................................ 23 

1.7 难点解析 ......................................................................................................................... 24 

1.8 高手训练营...................................................................................................................... 24 

第 2 章 PHP 基础语法 ..........................................................................................25 

2.1 Hello, PHP! ...................................................................................................................... 25 

2.2 常量................................................................................................................................ 26 

2.2.1 自定义常量 .......................................................................................................... 26 

2.2.2 预定义常量 .......................................................................................................... 28 

2.3 变量................................................................................................................................ 29 

2.3.1 变量的定义 .......................................................................................................... 29 

2.3.2 变量的命名规则................................................................................................... 30 

2.3.3 变量的作用域....................................................................................................... 31 

2.3.4 静态变量.............................................................................................................. 34 

PHP 开发一站式学习——难点/案例/练习 

. IV . 

2.3.5 动态变量.............................................................................................................. 34 

2.4 流程控制结构.................................................................................................................. 35 

2.4.1 条件控制语句....................................................................................................... 35 

2.4.2 循环控制语句....................................................................................................... 39 

2.4.3 跳转控制语句....................................................................................................... 41 

2.5 变量操作符...................................................................................................................... 42 

2.5.1 算术运算符 .......................................................................................................... 42 

2.5.2 自增、自减运算符 ............................................................................................... 43 

2.5.3 赋值操作符 .......................................................................................................... 44 

2.5.4 字符串操作符....................................................................................................... 45 

2.5.5 逻辑操作符 .......................................................................................................... 46 

2.5.6 比较操作符 .......................................................................................................... 47 

2.5.7 位运算符.............................................................................................................. 48 

2.5.8 运算符的优先级................................................................................................... 50 

2.6 表达式............................................................................................................................. 51 

2.7 难点解析 ......................................................................................................................... 51 

2.8 高手训练营...................................................................................................................... 52 

第 3 章 PHP 数据类型 ..........................................................................................53 

3.1 数据类型的种类 .............................................................................................................. 53 

3.1.1 整型...................................................................................................................... 53 

3.1.2 浮点型.................................................................................................................. 54 

3.1.3 字符串型.............................................................................................................. 55 

3.1.4 布尔型.................................................................................................................. 56 

3.1.5 资源类型和 NULL................................................................................................ 57 

3.2 数据类型的转换 .............................................................................................................. 59 

3.2.1 伪类型.................................................................................................................. 59 

3.2.2 自动转换.............................................................................................................. 60 

3.2.3 直接转换.............................................................................................................. 61 

3.2.4 用转换函数实现转换............................................................................................ 64 

3.3 难点解析 ......................................................................................................................... 66 

3.4 高手训练营...................................................................................................................... 67 

第 4 章 PHP 数组 .................................................................................................68 

4.1 数组的类型...................................................................................................................... 68 

4.1.1 数字索引数组....................................................................................................... 68 

4.1.2 关联数组.............................................................................................................. 70 

4.2 数组的构造...................................................................................................................... 71 

目 录 

. V . 

4.2.1 一维数组.............................................................................................................. 71 

4.2.2 二维数组.............................................................................................................. 71 

4.3 数组的排序...................................................................................................................... 72 

4.3.1 sort( )和 rsort( )函数.............................................................................................. 72 

4.3.2 ksort( )和 krsort( )函数 .......................................................................................... 74 

4.3.3 asort( )和 arsort( )函数........................................................................................... 75 

4.3.4 array_multisort( )函数............................................................................................ 76 

4.4 数组的遍历...................................................................................................................... 77 

4.4.1 使用 for 语句循环遍历数组.................................................................................. 77 

4.4.2 使用 foreach 语句遍历数组................................................................................... 78 

4.4.3 联合使用 list( )函数、each( )函数和 while 语句循环遍历数组.............................. 79 

4.4.4 使用数组内部指针控制函数遍历 ......................................................................... 81 

4.5 数组的拆分和合并........................................................................................................... 81 

4.5.1 数组的拆分 .......................................................................................................... 81 

4.5.2 数组的合并 .......................................................................................................... 84 

4.5.3 数组的交集和差集 ............................................................................................... 86 

4.6 数组和字符串的转换....................................................................................................... 87 

4.6.1 将字符串转换为一个数组 .................................................................................... 87 

4.6.2 将数组转换为一个新的字符串............................................................................. 87 

4.7 有关数组键值和键名操作函数 ........................................................................................ 88 

4.7.1 返回数组的键值和键名........................................................................................ 88 

4.7.2 查找数组中键名是否存在 .................................................................................... 89 

4.7.3 数组的接合 .......................................................................................................... 90 

4.7.4 查找数组键值是否存在........................................................................................ 91 

4.7.5 array_search( )函数 ............................................................................................... 92 

4.7.6 数组键名与键值的对调........................................................................................ 93 

4.8 在数组中增加或删除元素................................................................................................ 94 

4.8.1 在数组头部插入和删除元素................................................................................. 94 

4.8.2 在数组尾部插入和删除元素................................................................................. 95 

4.8.3 删除数组中重复的元素........................................................................................ 96 

4.8.4 删除数组中指定的元素........................................................................................ 96 

4.9 统计数组中元素的个数和出现的次数 ............................................................................. 97 

4.9.1 统计数组中元素的个数........................................................................................ 97 

4.9.2 统计数组中元素出现的次数................................................................................. 98 

4.10 其他一些数组处理函数.................................................................................................. 99 

4.10.1 var_export( )函数 ................................................................................................ 99 

4.10.2 随机抽取数组中的元素 ...................................................................................... 99 

PHP 开发一站式学习——难点/案例/练习 

. VI . 

4.10.3 随机重新排列数组............................................................................................ 100 

4.11 难点解析...................................................................................................................... 101 

4.12 高手训练营.................................................................................................................. 101 

第 5 章 PHP 函数 ...............................................................................................103 

5.1 用户自定义函数 ............................................................................................................ 103 

5.1.1 自定义函数的编写和调用 .................................................................................. 103 

5.1.2 函数的动态调用................................................................................................. 104 

5.1.3 函数的递归 ........................................................................................................ 105 

5.1.4 函数的嵌套 ........................................................................................................ 106 

5.1.5 函数的返回值..................................................................................................... 107 

5.2 函数的参数.................................................................................................................... 108 

5.2.1 按值传递参数..................................................................................................... 108 

5.2.2 按引用传递参数................................................................................................. 109 

5.2.3 使用默认参数..................................................................................................... 110 

5.2.4 可变参数的函数................................................................................................. 110 

5.3 内建函数 ....................................................................................................................... 111 

5.3.1 常用数学处理函数 ............................................................................................. 112 

5.3.2 常用时间处理函数 ............................................................................................. 114 

5.4 包含控制 ....................................................................................................................... 118 

5.4.1 require 和 include 语句........................................................................................ 119 

5.4.2 require_once 和 include_once 语句 ...................................................................... 119 

5.5 难点解析 ....................................................................................................................... 119 

5.6 高手训练营.................................................................................................................... 120 

第 6 章 字符串 ....................................................................................................121 

6.1 字符串简介.................................................................................................................... 121 

6.2 字符串输出.................................................................................................................... 122 

6.3 字符串的格式化 ............................................................................................................ 124 

6.3.1 printf( )和 sprintf( )函数....................................................................................... 124 

6.3.2 去除首尾空格及指定字符函数........................................................................... 126 

6.3.3 大小写转换函数................................................................................................. 128 

6.3.4 处理 HTML 标签相关的函数 ............................................................................. 129 

6.3.5 其他常用格式化函数.......................................................................................... 131 

6.4 常用的字符串操作......................................................................................................... 133 

6.4.1 求字符串长度函数 ............................................................................................. 133 

6.4.2 字符串查找函数................................................................................................. 134 

6.4.3 字符串替换函数................................................................................................. 135 

目 录 

. VII . 

6.4.4 字符串分解函数................................................................................................. 137 

6.4.5 单词计数函数..................................................................................................... 139 

6.4.6 字符串重复函数................................................................................................. 140 

6.4.7 求字符串的子串函数.......................................................................................... 140 

6.4.8 字符串比较函数................................................................................................. 141 

6.5 难点解析 ....................................................................................................................... 142 

6.6 高手训练营.................................................................................................................... 143 

第 7 章 正则表达式.............................................................................................144 

7.1 正则表达式概述及功能 ................................................................................................. 144 

7.2 正则表达式语法规则..................................................................................................... 145 

7.2.1 定界符和修饰符................................................................................................. 145 

7.2.2 逻辑区隔............................................................................................................ 146 

7.2.3 元字符与“[]”相关........................................................................................... 146 

7.2.4 匹配次数与“{}”相关 ...................................................................................... 147 

7.2.5 逻辑区间与“( )”相关 ...................................................................................... 147 

7.2.6 类型匹配............................................................................................................ 148 

7.3 POSIX 扩展的正则表达式函数...................................................................................... 149 

7.3.1 查找字符串函数................................................................................................. 149 

7.3.2 替换字符串函数................................................................................................. 150 

7.3.3 分割字符串至数组函数...................................................................................... 151 

7.3.4 sql_regcase( )函数............................................................................................... 152 

7.4 Perl 兼容的正则表达式函数........................................................................................... 153 

7.4.1 查找字符串函数 preg_grep( ) .............................................................................. 153 

7.4.2 匹配字符串函数 preg_match( )............................................................................ 154 

7.4.3 全局匹配字符串函数 preg_match_all( )............................................................... 155 

7.4.4 查找并替换字符串函数 preg_replace( )............................................................... 158 

7.4.5 通过回调函数执行查找和替换函数 preg_replace_callback( )............................... 159 

7.4.6 字符串分割函数 preg_split( ) .............................................................................. 160 

7.4.7 转义字符串函数 preg_quote( ) ............................................................................ 161 

7.5 难点解析 ....................................................................................................................... 162 

7.6 高手训练营.................................................................................................................... 162 

第 8 章 文件系统.................................................................................................164 

8.1 文件的属性.................................................................................................................... 164 

8.1.1 文件的类型 ........................................................................................................ 164 

8.1.2 文件的大小 ........................................................................................................ 165 

8.1.3 文件是否存在..................................................................................................... 166 

PHP 开发一站式学习——难点/案例/练习 

. VII I . 

8.1.4 文件的读写执行属性.......................................................................................... 167 

8.1.5 文件的相关时间................................................................................................. 168 

8.2 文件的相关操作 ............................................................................................................ 168 

8.2.1 打开和关闭文件................................................................................................. 168 

8.2.2 读取文件内容..................................................................................................... 170 

8.2.3 写入文件............................................................................................................ 173 

8.2.4 文件指针............................................................................................................ 175 

8.2.5 文件锁定机制..................................................................................................... 176 

8.2.6 一些基本文件操作函数...................................................................................... 177 

8.2.7 文件的远程操作................................................................................................. 179 

8.3 PHP 目录相关操作 ........................................................................................................ 179 

8.3.1 打开和关闭目录................................................................................................. 179 

8.3.2 浏览目录............................................................................................................ 180 

8.3.3 建立和删除目录................................................................................................. 181 

8.4 文件的上传.................................................................................................................... 182 

8.5 难点解析 ....................................................................................................................... 185 

8.6 高手训练营.................................................................................................................... 186 

第 9 章 PHP 中的异常处理 .................................................................................187 

9.1 异常处理的原理 ............................................................................................................ 187 

9.2 PHP 中的异常处理 ........................................................................................................ 187 

9.2.1 异常类 Exception................................................................................................ 188 

9.2.2 异常抛出关键字 throw........................................................................................ 189 

9.2.3 异常捕获语句 try…catch .................................................................................... 190 

9.2.4 异常处理函数设置 set_exception_handler............................................................ 191 

9.2.5 完整的异常信息................................................................................................. 192 

9.3 扩展的异常处理类......................................................................................................... 193 

9.4 异常的传递与重掷......................................................................................................... 196 

9.5 难点解析 ....................................................................................................................... 198 

9.6 高手训练营.................................................................................................................... 198 

第 10 章 PHP 中类的应用...................................................................................199 

10.1 面向对象基础 .............................................................................................................. 199 

10.1.1 类.................................................................................................................... 199 

10.1.2 对象................................................................................................................ 199 

10.1.3 面向对象编程的特点 ...................................................................................... 199 

10.1.4 面向对象编程的优点 ...................................................................................... 200 

10.2 类和对象...................................................................................................................... 200 

目 录 

. IX . 

10.2.1 类的实例化..................................................................................................... 200 

10.2.2 对象的使用..................................................................................................... 201 

10.2.3 成员变量......................................................................................................... 202 

10.2.4 成员函数......................................................................................................... 203 

10.3 构造函数与析构函数 ................................................................................................... 204 

10.3.1 构造函数......................................................................................................... 204 

10.3.2 析构函数......................................................................................................... 206 

10.4 使用$this 变量访问方法和属性.................................................................................... 207 

10.5 final 关键字.................................................................................................................. 208 

10.6 static 关键字................................................................................................................. 209 

10.7 抽象类和接口 .............................................................................................................. 210 

10.7.1 抽象类 ............................................................................................................ 210 

10.7.2 接口................................................................................................................ 212 

10.8 魔术方法...................................................................................................................... 213 

10.9 难点解析...................................................................................................................... 215 

10.10 高手训练营................................................................................................................ 216 

第 11 章 PHP 与 HTML ......................................................................................217 

11.1 表单与 HTML.............................................................................................................. 217 

11.2 get 与 post 的区别 ........................................................................................................ 220 

11.3 表单的处理方法........................................................................................................... 222 

11.3.1 检查表单提交的来源 ...................................................................................... 222 

11.3.2 一个完整表单处理.......................................................................................... 223 

11.4 常用表单数据验证方法................................................................................................ 226 

11.4.1 客户端验证..................................................................................................... 226 

11.4.2 服务器端验证 ................................................................................................. 227 

11.4.3 避免表单重复提交.......................................................................................... 227 

11.4.4 表单过期的处理.............................................................................................. 231 

11.4.5 判断表单动作的技巧 ...................................................................................... 232 

11.5 表单安全...................................................................................................................... 233 

11.5.1 处理全局性错误.............................................................................................. 233 

11.5.2 预防 SQL 注入................................................................................................ 238 

11.6 代码安全...................................................................................................................... 239 

11.6.1 用户输入验证 ................................................................................................. 239 

11.6.2 高级数据验证:使用 ctype ............................................................................. 240 

11.6.3 数据过滤......................................................................................................... 241 

11.6.4 路径检测......................................................................................................... 242 

PHP 开发一站式学习——难点/案例/练习 

. X . 

11.6.5 魔法引用......................................................................................................... 243 

11.7 URL 编码、解码函数 .................................................................................................. 244 

11.7.1 编码字符串——urlencode ............................................................................... 244 

11.7.2 解码字符串——urldecode ............................................................................... 245 

11.8 难点解析...................................................................................................................... 246 

11.9 高手训练营.................................................................................................................. 246 

第 12 章 PHP 与 JavaScript 交互 .......................................................................247 

12.1 PHP 动态生成 JavaScript 代码...................................................................................... 247 

12.1.1 多行输出......................................................................................................... 247 

12.1.2 单行输出......................................................................................................... 248 

12.1.3 PHP 动态生成 JavaScript 实例——进度条 .................................................... 249 

12.2 在 JavaScript 中调用 PHP 程序..................................................................................... 250 

12.2.1 页面的跳转..................................................................................................... 250 

12.2.2 隐性调用 PHP 程序......................................................................................... 251 

12.3 JavaScript 和 PHP 的综合范例...................................................................................... 252 

12.4 难点解析...................................................................................................................... 257 

12.5 高手训练营.................................................................................................................. 257 

第 2 篇 PHP 与数据库 

第 13 章 MySQL 数据库的基本操作 ...................................................................261 

13.1 MySQL 简介................................................................................................................ 261 

13.1.1 什么是 MySQL ............................................................................................... 261 

13.1.2 MySQL 的特点 ............................................................................................... 261 

13.2 MySQL 的启动与断开 ................................................................................................. 262 

13.2.1 启动与停止 MySQL 服务器............................................................................ 262 

13.2.2 使用 update 命令修改 MySQL 密码 ................................................................ 263 

13.3 使用 MySQL 命令行操作数据库.................................................................................. 264 

13.3.1 数据库的创建 ................................................................................................. 264 

13.3.2 数据库的选择 ................................................................................................. 264 

13.3.3 数据库的查看 ................................................................................................. 265 

13.3.4 数据库的删除 ................................................................................................. 265 

13.4 使用 MySQL 命令行操作数据表.................................................................................. 265 

13.4.1 数据表的创建 ................................................................................................. 266 

13.4.2 数据表结构的查看.......................................................................................... 266 

目 录 

. XI . 

13.4.3 数据表结构的修改.......................................................................................... 267 

13.4.4 数据表的重命名.............................................................................................. 268 

13.4.5 数据表的插入 ................................................................................................. 268 

13.4.6 数据表的查询 ................................................................................................. 269 

13.4.7 数据表的更新 ................................................................................................. 270 

13.4.8 数据表的删除 ................................................................................................. 270 

13.5 phpMyAdmin 管理工具................................................................................................ 271 

13.5.1 phpMyAdmin 简介 .......................................................................................... 271 

13.5.2 phpMyAdmin 的使用....................................................................................... 271 

13.6 难点解析...................................................................................................................... 274 

13.7 高手训练营.................................................................................................................. 274 

第 14 章 MySQL 与 PHP 的应用.........................................................................275 

14.1 PHP 与 Web 数据库..................................................................................................... 275 

14.1.1 Web 数据库的工作原理.................................................................................. 275 

14.1.2 PHP 与数据库结合的优势............................................................................... 275 

14.2 PHP 与 MySQL 的集成应用......................................................................................... 275 

14.2.1 连接和断开 MySQL 数据库............................................................................ 276 

14.2.2 显示可用数据库.............................................................................................. 277 

14.2.3 创建新的数据库和表 ...................................................................................... 278 

14.2.4 删除已存在的数据库和表............................................................................... 281 

14.2.5 使用 SQL 语句插入记录 ................................................................................. 284 

14.2.6 使用 SQL 语句查询记录 ................................................................................. 286 

14.2.7 使用 SQL 语句更新记录 ................................................................................. 288 

14.2.8 使用 SQL 语句删除记录 ................................................................................. 290 

14.3 使用 PHP 获取 MySQL 数据库的信息......................................................................... 292 

14.3.1 获取数据库信息.............................................................................................. 292 

14.3.2 获取表的信息 ................................................................................................. 293 

14.3.3 获取列的信息 ................................................................................................. 294 

14.4 MySQL 数据库使用实例——网站计数器模块............................................................. 295 

14.5 难点解析...................................................................................................................... 309 

14.6 高手训练营.................................................................................................................. 310 

第 15 章 PHP 中的 Session 和 Cookie...................................................................311 

15.1 Session 和 Cookie 简介................................................................................................. 311 

15.2 Session 的使用 ............................................................................................................. 311 

15.2.1 如何使用 Session............................................................................................. 311 

15.2.2 使用 Session 的注意事项................................................................................. 312 

PHP 开发一站式学习——难点/案例/练习 

. XII . 

15.3 Session 应用实例.......................................................................................................... 313 

15.4 Cookie 的使用.............................................................................................................. 315 

15.4.1 如何使用 Cookie ............................................................................................. 315 

15.4.2 使用 Cookie 的注意事项 ................................................................................. 317 

15.5 Cookie 应用实例.......................................................................................................... 317 

15.6 Session 与 Cookie 的比较............................................................................................. 320 

15.7 难点解析...................................................................................................................... 321 

15.8 高手训练营.................................................................................................................. 321 

第 3 篇 高级应用与实战 

第 16 章 PHP 的缓存与静态化应用 ....................................................................325 

16.1 静态化概述.................................................................................................................. 325 

16.1.1 静态页面......................................................................................................... 325 

16.1.2 动态页面......................................................................................................... 325 

16.1.3 静态化的作用 ................................................................................................. 326 

16.1.4 动态、静态化对比试验................................................................................... 327 

16.2 缓存机制概述 .............................................................................................................. 330 

16.2.1 缓存机制......................................................................................................... 331 

16.2.2 静态化机制..................................................................................................... 331 

16.3 PHP 静态化技术 .......................................................................................................... 331 

16.3.1 由模板生成静态页面 ...................................................................................... 331 

16.3.2 数据库与静态页面.......................................................................................... 333 

16.3.3 静态页面内容的修改 ...................................................................................... 336 

16.3.4 静态页面的动态操作 ...................................................................................... 338 

16.4 难点解析...................................................................................................................... 339 

16.5 高手训练营.................................................................................................................. 340 

第 17 章 Smarty 与模板技术...............................................................................341 

17.1 MVC 概述.................................................................................................................... 341 

17.2 模板系统...................................................................................................................... 342 

17.3 Smarty 概述 ................................................................................................................. 342 

17.3.1 Smarty 的优点................................................................................................. 343 

17.3.2 Smarty 的开发特性.......................................................................................... 343 

17.4 Smarty 的安装与配置................................................................................................... 343 

17.4.1 Smarty 2 与 Smarty 3 的区别 ........................................................................... 343 

目 录 

. XIII . 

17.4.2 Smarty 的安装................................................................................................. 344 

17.4.3 Smarty 的配置................................................................................................. 344 

17.4.4 Smarty 程序的一般步骤.................................................................................. 346 

17.5 Smarty 开发基础.......................................................................................................... 346 

17.5.1 Smarty 注释..................................................................................................... 346 

17.5.2 Smarty 区块..................................................................................................... 347 

17.5.3 Smarty 变量与格式化...................................................................................... 347 

17.6 Smarty 控制结构.......................................................................................................... 349 

17.6.1 判断结构......................................................................................................... 349 

17.6.2 循环结构......................................................................................................... 351 

17.6.3 表单元素的生成.............................................................................................. 355 

17.6.4 外部文件的载入.............................................................................................. 358 

17.7 Smarty 缓存技术.......................................................................................................... 359 

17.8 难点解析...................................................................................................................... 360 

17.9 高手训练营.................................................................................................................. 361 

第 18 章 PHP 与 Ajax 技术 .................................................................................362 

18.1 Ajax 概述..................................................................................................................... 362 

18.1.1 什么是 Ajax .................................................................................................... 362 

18.1.2 Ajax 的开发模式............................................................................................. 362 

18.1.3 Ajax 的优点和缺点 ......................................................................................... 363 

18.2 Ajax 与 XML 的应用.................................................................................................... 363 

18.3 使用 post 方式的 Ajax.................................................................................................. 366 

18.4 Ajax 程序应用范例 ...................................................................................................... 369 

18.5 难点解析...................................................................................................................... 372 

18.6 高手训练营.................................................................................................................. 372 

第 19 章 图片与媒体处理....................................................................................373 

19.1 使用 GD 扩展库........................................................................................................... 373 

19.1.1 GD 扩展库的配置........................................................................................... 373 

19.1.2 创建图片......................................................................................................... 374 

19.1.3 打开和保存图片.............................................................................................. 375 

19.1.4 绘制图形......................................................................................................... 377 

19.1.5 生成验证码..................................................................................................... 378 

19.1.6 创建图片缩略图.............................................................................................. 381 

19.1.7 下载远程图片 ................................................................................................. 383 

19.1.8 创建水印图片 ................................................................................................. 383 

19.2 使用 Ming 扩展库 ........................................................................................................ 385 

PHP 开发一站式学习——难点/案例/练习 

. XIV . 

19.2.1 创建按钮......................................................................................................... 385 

19.2.2 创建静态文字 ................................................................................................. 387 

19.2.3 创建动态文字 ................................................................................................. 388 

19.2.4 绘制图形......................................................................................................... 389 

19.2.5 使用图片......................................................................................................... 390 

19.3 使用 Imagick 扩展库.................................................................................................... 391 

19.3.1 创建缩略图..................................................................................................... 392 

19.3.2 读取图片尺寸 ................................................................................................. 392 

19.3.3 裁剪图片......................................................................................................... 393 

19.3.4 转换图片格式 ................................................................................................. 394 

19.3.5 控制图片旋转 ................................................................................................. 394 

19.3.6 重新缩放图片 ................................................................................................. 395 

19.3.7 加入渲染效果 ................................................................................................. 396 

19.3.8 压缩 JPEG 图片 .............................................................................................. 397 

19.4 难点解析...................................................................................................................... 398 

19.5 高手训练营.................................................................................................................. 398 

第 20 章 使用 Jpgraph 库创建统计图..................................................................399 

20.1 Jpgraph 概述 ................................................................................................................ 399 

20.2 Jpgraph 的安装与配置.................................................................................................. 399 

20.3 使用 Jpgraph 绘制统计图............................................................................................. 400 

20.3.1 绘制简单的 X-Y 坐标图.................................................................................. 400 

20.3.2 绘制改进的 X-Y 坐标图.................................................................................. 402 

20.3.3 绘制柱状图..................................................................................................... 403 

20.3.4 绘制饼状图..................................................................................................... 405 

20.3.5 绘制 3D 饼状图............................................................................................... 406 

20.4 Jpgraph 应用范例......................................................................................................... 407 

20.5 难点解析...................................................................................................................... 411 

20.6 高手训练营.................................................................................................................. 411 

第 21 章 共享之家系统 .......................................................................................412 

21.1 系统分析...................................................................................................................... 412 

21.1.1 系统背景描述 ................................................................................................. 412 

21.1.2 系统模块划分 ................................................................................................. 412 

21.2 数据库设计与实现....................................................................................................... 413 

21.3 基础框架扩展设计....................................................................................................... 415 

21.3.1 控制器扩展类 ................................................................................................. 416 

21.3.2 数据库扩展类 ................................................................................................. 419 

目 录 

. XV . 

21.3.3 视图扩展类..................................................................................................... 425 

21.3.4 功能扩展类..................................................................................................... 427 

21.4 系统配置文件与引导文件的设计................................................................................. 430 

21.4.1 配置文件的设计.............................................................................................. 430 

21.4.2 引导文件的设计.............................................................................................. 435 

21.5 用户管理模块 .............................................................................................................. 437 

21.5.1 用户组管理..................................................................................................... 438 

21.5.2 组权限管理..................................................................................................... 443 

21.5.3 用户管理......................................................................................................... 448 

21.6 文档管理模块 .............................................................................................................. 459 

21.6.1 文档分类管理模块.......................................................................................... 459 

21.6.2 文档上传模块 ................................................................................................. 465 

21.6.3 文档下载模块 ................................................................................................. 474 

21.7 难点解析...................................................................................................................... 482 

训练营参考答案 ....................................................................................................483