第1篇 PHP程序语言 15
第1章 PHP漫谈 15
1.1 认识PHP 15
1.2 HTML基础 16
1.2.1 HTML文档基本格式 16
1.2.2 用标签显示Hello World 17
1.2.3 创建网页上的列表 18
1.2.4 创建图像和链接 19
1.2.5 创建表格 21
1.2.6 创建表单 23
1.3 JavaScript基础 25
1.3.1 JavaScript的基本格式 26
1.3.2 控制IE的页面大小 26
1.3.3 获取页面文档内容 27
1.3.4 客户端数据存储机制Cookie 28
1.3.5 客户端事件驱动 30
1.3.6 实现客户端验证 33
1.4 小结 34
1.5 习题 34
第2章 PHP编程硬件和软件需求 36
2.1 环境搭建 36
2.1.1 Linux系统安装Apache、MySQL和PHP 36
2.1.2 Windows系统安装Apache、MySQL和PHP 39
2.1.3 安装Zend Studio 42
2.2 Apache和PHP配置 43
2.2.1 Apache服务器基本配置 43
2.2.2 PHP的基本配置 44
2.2.3 PHP文件上传配置 45
2.2.4 PHP的Session配置 45
2.2.5 PHP的电子邮件配置 45
2.2.6 PHP的安全设置 46
2.2.7 PHP调试设置 46
2.3 第一个PHP程序Hello World 47
2.4 小结 50
2.5 习题 50
第3章 类型 51
3.1 类型的世界 51
3.2 一切皆数据 51
3.3 无类型(NULL) 51
3.4 布尔型(Boolean) 53
3.5 数值 54
3.5.1 整型(integer) 54
3.5.2 浮点型(float) 54
3.5.3 理解整型和浮点型 55
3.5.4 理解数值范围 55
3.6 字符串(string) 57
3.7 资源(resource) 58
3.8 小结 58
3.9 习题 58
第4章 变量和常量 59
4.1 从类型到变量 59
4.2 变量的命名 61
4.3 可变变量 61
4.4 预定义变量 62
4.5 外部变量 63
4.6 引用 65
4.7 变量的销毁 66
4.8 常量 67
4.8.1 常量的定义 67
4.8.2 魔术常量 68
4.9 小结 68
4.10 习题 68
第5章 运算符、表达式和语句 69
5.1 算数运算符 69
5.1.1 加减乘除 69
5.1.2 求模 69
5.1.3 取反 70
5.2 赋值运算符 70
5.3 自运算符 70
5.4 递增/递减运算符 71
5.5 字符串运算符 72
5.6 比较运算符 73
5.7 逻辑运算符 73
5.8 位运算符 74
5.9 执行运算符 75
5.10 错误控制运算符 75
5.11 表达式和语句 75
5.11.1 表达式 75
5.11.2 语句 76
5.12 注释 76
5.13 小结 77
5.14 习题 77
第6章 顺序流程 78
6.1 有序的世界 78
6.2 条件分支 78
6.2.1 if语句 78
6.2.2 if...else语句 79
6.2.3 ?...:语句 80
6.2.4 elseif语句 81
6.2.5 switch语句 83
6.3 循环 84
6.3.1 while语句 84
6.3.2 do...while语句 86
6.3.3 for语句 87
6.3.4 foreach语句 88
6.4 关键字 89
6.4.1 break语句 89
6.4.2 continue语句 90
6.4.3 return语句 91
6.5 异常处理 92
6.6 declare语句 92
6.7 流程控制强化训练 93
6.8 小结 95
6.9 习题 95
第7章 函数 96
7.1 使用函数 96
7.2 系统(内置)函数 97
7.3 自定义函数 97
7.4 函数参数 99
7.5 返回值 101
7.6 动态调用函数 101
7.7 作用域 102
7.7.1 局部作用域 102
7.7.2 全局作用域 104
7.8 生存期 105
7.9 小结 107
7.10 习题 107
第8章 PHP数组类 108
8.1 什么是数组 108
8.1.1 什么是PHP的数组 108
8.1.2 创建PHP的数组 108
8.2 增加删除数组元素 110
8.2.1 使用$arrayname[]增加数组元素 111
8.2.2 使用unset()删除数组中的元素 111
8.2.3 使用array_push()压入数组元素 112
8.2.4 使用array_pop()弹出数组元素 112
8.3 遍历输出数组 113
8.3.1 使用print_r()打印数组 113
8.3.2 使用for循环语句输出数组 114
8.3.3 使用foreach循环语句输出数组 115
8.4 数组排序 116
8.4.1 使用sort对数组进行排序 116
8.4.2 使用rsort对数组进行逆向排序 117
8.4.3 数组的随机排序 118
8.4.4 数组的反向排序 119
8.5 合并与拆分数组 120
8.5.1 合并数组 120
8.5.2 拆分数组 121
8.6 小结 122
8.7 习题 122
第二篇 PHP参考函数 124
第9章 浏览器和输入输出 124
9.1 检测来访者的浏览器版本和语言 124
9.2 处理表单提交的数据 126
9.3 上传文件处理 128
9.4 会话处理函数Session 130
9.4.1 开始会话 131
9.4.2 存储与读取会话 131
9.4.3 销毁会话 133
9.5 Cookie处理函数 133
9.5.1 创建cookie 133
9.5.2 获取cookie 134
9.5.3 cookie的有效期 135
9.5.4 cookie的有效路径 135
9.5.5 删除cookie 135
9.6 使用HTTP Headers 136
9.7 小结 137
9.8 习题 137
第10章 文件目录类 139
10.1 创建目录和文件 139
10.2 列出目录和文件 140
10.3 获得磁盘空间 141
10.4 改变目录和文件的属性 142
10.5 写入数据到文件 143
10.5.1 使用fwrite()函数将数据写入文件 143
10.5.2 使用file put_contents()函数将数据写入文件 144
10.6 从文件读取数据 145
10.6.1 使用fread()函数来对文件的数据进行读取 145
10.6.2 使用file_get_contents()函数来读取文件中的数据 146
10.7 修改文件内容 146
10.8 删除目录和文件 147
10.9 一个文本计数器实例 148
10.10 小结 149
10.11 习题 149
第11章 数据处理类 151
11.1 字符串 151
11.1.1 计算字符串的长度 151
11.1.2 截取指定长度字符串 152
11.1.3 搜索指定的字符串 153
11.1.4 替换指定的字符串 153
11.1.5 转换字符串为数组 153
11.1.6 转换数组为字符串 153
11.1.7 设置字符编码 154
11.2 使用PHPExcel操作Microsoft Excel文件 154
11.2.1 创建Excel文件 154
11.2.2 修改并导出Excel文件 157
11.3 加密和解密 159
11.4 时间和日期 161
11.4.1 使用date()函数 161
11.4.2 使用mktime()函数 163
11.4.3 验证日期有效性 163
11.5 小结 164
11.6 习题 164
第12章 图形图表类 166
12.1 使用GD创建图像 166
12.2 创建缩略图 168
12.3 给图片加水印 169
12.4 给图片加文字 171
12.5 小结 172
12.6 习题 172
第13章 电子邮件类 174
13.1 用mail函数发送邮件 174
13.2 使用SMTP发送邮件 175
13.3 发送一个带附件的邮件 177
13.4 小结 179
13.5 习题 180
第14章 数据库类 181
14.1 MySQL数据库 181
14.1.1 连接到MySQ L 181
14.1.2 创建数据库和表 182
14.1.3 向表插入数据 184
14.1.4 更新表中数据 186
14.1.5 查询数据表 187
14.2 MSSQL数据库使用实例 188
14.3 小结 189
14.4 习题 189
第三篇 PHP高级开发 191
第15章 PHP与XML 191
15.1 XML快速入门 191
15.1.1 什么是XML 191
15.1.2 XML,HTML,SGML之间的关系和区别 191
15.1.3 建立一个简单的XML文件 191
15.2 深入XML文档 192
15.2.1 XML声明 192
15.2.2 元素的概念 193
15.2.3 标记和属性 194
15.2.4 Well-formed XML(良好格式的XML) 194
15.2.5 Valid XML(有效的XML) 194
15.2.6 DTD(文件类型定义) 194
15.3 用SimpleXML处理XML文档 194
15.3.1 建立一个SimpleXML对象 195
15.3.2 XML数据的读取 195
15.3.3 XML数据的修改 197
15.3.4 XML数据的保存 198
15.3.5 实例:从XML文件中读取新闻列表 198
15.4 使用DOM库处理XML文档 200
15.4.1 创建一个DOM对象并装载XML文档 200
15.4.2 获得特定元素的数组 201
15.4.3 取得节点内容 201
15.4.4 取得节点属性 202
15.4.5 实例:使用DOM库读取新闻列表 202
15.5 小结 204
15.6 习题 204
第16章 PHP与正则表达式 206
16.1 了解正则表达式 206
16.1.1 什么是正则表达式 206
16.1.2 入门:一个简单的正则表达式 206
16.2 正则表达式的语法 207
16.2.1 普通字符 207
16.2.2 特殊字符 207
16.2.3 非打印字符 208
16.2.4 限定符及贪婪模式和非贪婪模式 208
16.2.5 定位符 209
16.2.6 选择与编组 210
16.2.7 后向引用 210
16.2.8 各操作符的优先级 211
16.2.9 修饰符 211
16.3 PHP中相关正则表达式的函数 211
16.3.1 用正则表达式检查字符串是否是规定格式 212
16.3.2 将字符串中特定的部分替换掉 213
16.3.3 取得字符串中符合规定的部分 214
16.4 常用的正则表达式 215
16.4.1 检测邮件地址的真实性 215
16.4.2 检查电话号码的真实性 216
16.4.3 用户名的合法性检测 217
16.4.4 中文字符的检测 218
16.5 小结 219
16.6 习题 219
第17章 PHP与AJAX 221
17.1 什么是AJAX 221
17.2 AJAX的实现原理和工作流程 221
17.3 AJAX应用 222
17.3.1 如何建立远程连接对象 222
17.3.2 异步发送请求 223
17.3.3 回调函数的应用 225
17.3.4 一个基于AJAX的用户名验证程序 226
17.4 Spry框架 229
17.4.1 Spry框架简介 229
17.4.2 Spry框架的使用方法 229
17.4.3 Spry框架与Macromedia Dreamweaver的结合 232
17.4.4 使用Spry制作级联下拉菜单 236
17.5 小结 238
17.6 习题 239
第18章 PHP类与对象 240
18.1 类与对象的初探 240
18.2 第一个类 240
18.3 属性 241
18.4 方法 242
18.5 构造函数 243
18.6 关键字:在此我们是否可以有一点隐私 244
18.7 在类上下文操作 246
18.8 继承 247
18.9 小结 250
18.10 习题 250
第19章 使用PHP扩展与应用库(PEAR)加速开发 252
19.1 PEAR介绍与安装 252
19.2 用PEAR快速创建表单 254
19.3 用PEAR轻松实现身份验证 257
19.4 用PEAR实现数据库接口统一 259
19.5 用PEAR简化数据验证 261
19.6 用PEAR缓存提升程序性能 264
19.7 用PEAR支持多个邮件后台接口 266
19.8 用PEAR进行单元测试 267
19.9 小结 268
19.10 习题 268
第20章 PHP框架简介 269
20.1 PHP框架的现状和发展 269
20.2 常见PHP框架 270
20.2.1 Zend Framework框架 270
20.2.2 CakePHP框架 270
20.2.3 Symfony Project框架 271
20.2.4 ThinkPHP框架 271
20.2.5 QeePHP框架 272
20.2.6 CodeIgniter框架 272
20.3 CodeIgniter框架应用 273
20.3.1 CodeIgniter下载安装 273
20.3.2 CodeIgniter的控制器机制 274
20.3.3 CodeIgniter的模型机制 276
20.3.4 CodeIgniter的视图机制 277
20.4 小结 280
20.5 习题 280
第四篇 PHP实例精讲 281
第21章 一个简单好用的MVC框架 281
21.1 什么是MVC模型 281
21.2 MVC模型的组成 281
21.2.1 数据模型 282
21.2.2 视图 282
21.2.3 控制器 282
21.3 实现简单的MVC 282
21.3.1 数据模型层的实现 282
21.3.2 视图层的实现 286
21.3.3 控制器的实现 286
21.4 使用MVC的一个例子 287
21.5 小结 291
21.6 习题 291
第22章 制作一个内容管理系统(CMS) 292
22.1 什么是CMS 292
22.2 为什么CMS 292
22.3 需求分析 293
22.4 相关策划 293
22.4.1 后台策划 293
22.4.2 前台策划 295
22.5 系统架构 295
22.5.1 环境选择 296
22.5.2 选择框架 296
22.5.3 数据结构设计 296
22.5.4 目录结构 297
22.6 后台开发 297
22.6.1 后台文件结构 297
22.6.2 栏目功能开发 299
22.6.3 文章功能开发 302
22.7 前台实现 304
22.8 小结 305
22.9 习题 306