第一部分 基础知识 1
第1章 安装QuikStart向导 1
1.1 Linux/UNIX下的安装 1
1.1.1 安装MySQL 1
1.1.2 安装Apache 2
1.1.3 安装PHP 2
1.2 Windows下的安装 3
1.2.1 安装MySQL 3
1.2.2 安装Apache 4
1.2.3 安装PHP 6
1.3 Mac OS X下的安装 7
1.3.1 安装MySQL 7
1.3.2 安装PHP 7
1.4 故障排除 9
第2章 安装和配置MySQL 10
2.1 MySQL的当前版本和未来版本 10
2.2 如何获取MySQL 10
2.3 在Linux/UNIX上安装MySQL 10
2.4 在Mac OS X上安装MySQL 11
2.5 在Windows上安装MySQL 13
2.6 安装故障排除 18
2.7 基本安全规则 18
2.7.1 启动MySQL 18
2.7.2 增强MySQL连接的安全 18
2.8 MySQL权限系统简介 19
2.9 使用用户权限 20
2.9.1 添加用户 20
2.9.2 移除权限 22
2.10 小结 22
2.11 Q&A 22
2.12 实践练习 23
第3章 安装和配置Apache 24
3.1 Apache的当前版本及未来版本 24
3.2 选择合适的安装方法 24
3.2.1 从源代码安装 24
3.2.2 安装一个二进制代码版本 25
3.3 在Linux/UNIX上安装Apache 25
3.3.1 下载Apache源代码 25
3.3.2 解压源代码 25
3.3.3 准备编译Apache 25
3.3.4 编译和安装Apache 26
3.4 在Mac OS X上安装Apache 26
3.5 在Windows上安装Apache 27
3.6 Apache配置文件结构 29
3.6.1 指令 29
3.6.2 容器 30
3.6.3 条件评估 31
3.6.4 ServerRoot指令 31
3.6.5 per-directory配置文件 32
3.7 Apache日志文件 32
3.7 access_log文件 32
3.7.2 error_log文件 33
3.7.3 其他文件 33
3.8 Apache相关命令 33
3.8.1 Apache服务器二进制 33
3.8.2 Apache控制脚本 34
3.9 第一次启动Apache 34
3.9.1 检查你的配置文件 34
3.9.2 启动Apache 35
3.10 故障排除 36
3.10.1 已有Web服务器 36
3.10.2 不允许绑定到端口 36
3.10.3 拒绝访问 36
3.10.4 错误组设置 36
3.11 小结 36
3.12 Q&A 36
3.13 实践练习 37
第4章 安装和配置PHP 38
4.1 PHP的当前版本和未来版本 38
4.2 在带有Apache的Linux/UNIX上编译PHP 38
4.2.1 额外的Linux/UNIX配置选项 40
4.2.2 在Linux/UNIX上整合PHP和Apache 40
4.3 在Mac OS X上安装PHP 40
4.4 在Windows上安装PHP 42
4.5 php.ini基础 43
4.6 测试安装 43
4.7 获取安装帮助 44
4.8 PHP脚本基础 45
4.8.1 开始和结束一个PHP语句块 46
4.8.2 echo语句和print()函数 47
4.8.3 组合HTML和PHP 47
4.8.4 为PHP代码添加注释 48
4.9 小结 49
4.10 Q&A 49
4.11 实践练习 49
第二部分 PHP语言结构 51
第5章 PHP的组成部分 51
5.1 变量 51
5.2 数据类型 53
5.2.1 使用settype()来改变类型 55
5.2.2 通过类型转换改变类型 55
5.2.3 为何测试类型 57
5.3 操作符和表达式 57
5.3.1 赋值操作符 58
5.3.2 算术操作符 58
5.3.3 连接操作符 58
5.3.4 复合赋值操作符 59
5.3.5 自动增加和减少一个整型变量 60
5.3.6 比较操作符 60
5.3.7 使用逻辑操作符创建复杂的测试表达式 61
5.3.8 操作符优先级 62
5.4 常量 63
5.5 小结 64
5.6 Q&A 64
5.7 实践练习 64
第6章 PHP的流程控制功能 66
6.1 转换流程 66
6.1.1 if语句 66
6.1.2 使用else子句的if语句 67
6.1.3 使用带有elseif子句的if语句 67
6.1.4 switch语句 68
6.1.5 使用?运算符 69
6.2 循环 70
6.2.1 while语句 70
6.2.2 do…while语句 71
6.2.3 for语句 71
6.2.4 用break语句跳出循环 72
6.2.5 用continue语句跳过迭代 74
6.2.6 嵌套循环 74
6.3 代码块和浏览器输出 76
6.4 小结 77
6.5 Q&A 77
6.6 实践练习 77
第7章 使用函数 79
7.1 什么是函数 79
7.2 调用函数 79
7.3 定义一个函数 80
7.4 从用户定义的函数返回值 82
7.5 变量作用域 83
7.6 使用static语句在函数调用之间保存状态 85
7.7 关于参数的更多内容 86
7.7.1 为参数设置默认值 87
7.7.2 把变量引用传递给函数 88
7.8 测试函数是否存在 89
7.9 小结 90
7.10 Q&A 90
7.11 实践练习 90
第8章 使用数组 92
8.1 什么是数组 92
8.2 创建数组 92
8.2.1 创建关联数组 93
8.2.2 创建多维数组 93
8.3 一些和数组相关的函数 95
8.4 小结 96
8.5 Q&A 96
8.6 实践练习 96
第9章 使用对象 98
9.1 创建一个对象 98
9.1.1 对象的属性 99
9.1.2 对象方法 100
9.1.3 构造方法 101
9.2 对象继承 102
9.3 小结 103
9.4 Q&A 103
9.5 实践练习 103
第三部分 深入编程 105
第10章 使用字符串、日期和时间 105
10.1 使用PHP格式化字符串 105
10.1.1 使用printf() 106
10.1.2 指定一个字段宽度 108
10.1.3 参数交换 111
10.1.4 存储一个格式化字符串 111
10.2 了解PHP中的字符串 112
10.2.1 索引字符串的一个注意事项 112
10.2.2 使用strlen()获取一个字符串的长度 112
10.2.3 使用strstr()获取一个字符串的子串 112
10.2.4 使用strpos()找到一个子字符串的位置 113
10.2.5 使用substr()提取一个字符串的一部分 113
10.2.6 使用strtok()分解一个字符串 114
10.3 在PHP中操作字符串 115
10.3.1 使用trim()、ltrim()和strip_tags()整理一个字符串 115
10.3.2 使用substr_replace()替换一个字符串的一部分 116
10.3.3 使用str_replace()替换子字符串 116
10.3.4 转换大小写 117
10.3.5 使用wordwrap()和n12br()换行文本 118
10.3.6 使用explode()把字符串分解到数组 119
10.4 使用PHP中的日期和时间函数 120
10.4.1 使用time()获取日期 120
10.4.2 使用getdate()转换一个时间戳 120
10.4.3 使用date()转换一个时间戳 121
10.4.4 使用mktime()创建时间戳 123
10.4.5 使用checkdate()测试日期 124
10.5 其他字符串、日期和时间函数 124
10.6 小结 124
10.7 Q&A 124
10.8 实践练习 125
第11章 使用表单 126
11.1 创建一个简单的输入表单 126
11.2 使用用户定义数组访问表单输入 127
11.3 在单个页面上组合HTML和PHP代码 129
11.4 使用隐藏字段来保存状态 131
11.5 重定向用户 132
11.6 根据表单提交发送邮件 133
11.6.1 mail()函数的系统配置 133
11.6.2 创建表单 134
11.6.3 创建发送邮件的脚本 135
11.6.4 使用HTML格式化邮件 137
11.7 使用文件上传 138
11.7.1 创建文件上传表单 138
11.7.2 创建一个文件上传脚本 139
11.8 小结 140
11.9 实践练习 140
第12章 使用Cookie和用户会话 142
12.1 Cookie简介 142
12.2 使用PHP设置一个cookie 143
12.3 会话函数概览 145
12.4 开始一个会话 145
12.5 使用会话变量 146
12.6 在查询字符串中传递会话ID 149
12.7 销毁会话和重置变量 149
12.8 在一个带有注册用户的环境中使用会话 150
12.8.1 使用注册的用户 150
12.8.2 使用用户偏好 150
12.9 小结 150
12.10 Q&A 151
12.11 实践练习 151
第13章 使用文件和目录 152
13.1 使用include()包含文件 152
13.1.1 从一个被包含文档返回一个值 153
13.1.2 在控制结构中使用include() 153
13.1.3 使用include_once() 154
13.1.4 include_path命令 155
13.2 验证文件 155
13.2.1 使用file_exists()检查存在性 155
13.2.2 文件还是目录 155
13.2.3 检查一个文件的状态 156
13.2.4 使用filesize()确定文件的大小 156
13.2.5 获取有关一个文件的日期信息 156
13.2.6 编写一个执行多文件测试的函数 157
13.3 创建并删除文件 158
13.4 打开一个文件供写入、读取或添加 159
13.5 读取文件 159
13.5.1 使用fgets()和feof()来从一个文件读取行 159
13.5.2 使用fread()函数从文件读取任意数量的数据 161
13.5.3 使用fgetc()从文件读取字符 162
13.6 写入文件或向文件添加内容 163
13.6.1 使用fwrite()或fputs()写入文件 163
13.6.2 使用flock()锁定文件 164
13.7 使用目录 165
13.7.1 使用mkdir()创建目录 165
13.7.2 使用rmdir()删除一个目录 165
13.7.3 使用opendir()打开一个目录以供读取 165
13.7.4 使用readdir()从一个目录读取内容 165
13.8 使用popen()打开到进程和离开进程的管道 167
13.9 使用exec()运行命令 168
13.10 使用system()或passthru()运行命令 170
13.11 小结 171
13.12 Q&A 171
13.13 实践练习 171
第14章 使用图像 173
14.1 理解图像创建过程 173
14.2 对PHP的必要修改 173
14.3 绘制一个新的图像 174
14.3.1 绘制形状和线条 174
14.3.2 使用颜色填充 176
14.4 绘制有趣的饼图 177
14.5 修改已有图像 180
14.6 来自用户输入的图像创建 182
14.7 小结 185
14.8 Q&A 185
14.9 实践练习 185
第四部分 PHP和MySQL整合 187
第15章 理解数据库设计过程 187
15.1 良好的数据库设计的重要性 187
15.2 表关系的类型 188
15.2.1 一对一关系 188
15.2.2 一对多关系 189
15.2.3 多对多关系 189
15.3 理解规范化 190
15.3.1 平表带来的问题 191
15.3.2 第一范式 191
15.3.3 第二范式 192
15.3.4 第三范式 192
15.4 遵从设计过程 193
15.5 小结 193
15.6 Q&A 194
15.7 实践练习 194
第16章 SQL基本命令 195
16.1 MySQL数据类型 195
16.1.1 数字数据类型 195
16.1.2 日期和时间类型 196
16.1.3 字符串类型 197
16.2 表的创建语法 197
16.3 使用INSERT命令 199
16.4 使用SELECT命令 199
16.4.1 排序SELECT结果 200
16.4.2 限制结果 201
16.5 在查询中使用WHERE 202
16.5.1 在WHERE子句中使用操作符 202
16.5.2 使用LIKE比较字符串 203
16.6 从多个表中查询 203
16.6.1 使用JOIN 205
16.6.2 使用子查询 206
16.7 使用UPDATE命令来修改记录 207
16.7.1 条件式UPDATE 208
16.7.2 在UPDATE中使用已有的列值 209
16.8 使用REPLACE命令 209
16.9 使用DELETE命令 210
16.10 MySQL中常用的字符串函数 212
16.10.1 长度和连接函数 212
16.10.2 截断和填充函数 214
16.10.3 定位和位置函数 215
16.10.4 子字符串函数 215
16.10.5 字符串修改函数 216
16.11 在MySQL中使用日期和时间函数 217
16.11.1 操作日期 217
16.11.2 操作月份和年份 219
16.11.3 操作周 220
16.11.4 操作小时、分钟和秒 221
16.11.5 使用MySQL格式化日期和时间 222
16.11.6 使用MySQL执行日期算术 224
16.11.7 特殊函数和转换函数 225
16.12 小结 227
16.13 Q&A 228
16.14 实践练习 228
第17章 使用MySQL中的事务和存储过程 230
17.1 什么是事务 230
17.1.1 事务中使用的基本语法 230
17.1.2 使用事务的例子 231
17.2 什么是存储过程 232
17.3 小结 234
17.4 实践练习 234
第18章 使用PHP和MySQL交互 235
18.1 MySQL函数和MySQLi函数 235
18.2 使用PHP连接MySQL 235
18.2.1 进行连接 235
18.2.2 执行查询 236
18.2.3 获取错误消息 237
18.3 使用MySQL数据 238
18.3.1 使用PHP插入数据 238
18.3.2 使用PHP获取数据 241
18.3.3 PHP中其他的MySQL函数 242
18.4 小结 243
18.5 实践练习 243
第五部分 基本项目 245
第19章 管理一个简单的邮件列表 245
19.1 开发订阅机制 245
19.1.1 创建subscribers表 245
19.1.2 创建订阅表单 246
19.2 开发邮件发送机制 250
19.3 小结 253
19.4 Q&A 253
19.5 实践练习 253
第20章 创建一个在线地址簿 255
20.1 规划和创建数据库表 255
20.2 创建一个菜单 257
20.3 创建记录添加机制 258
20.4 浏览记录 261
20.5 创建记录删除机制 267
20.6 为一条记录添加子条目 268
20.7 小结 273
20.8 实践练习 273
第21章 创建一个简单的讨论论坛 275
21.1 设计数据库表 275
21.2 创建输入表单和脚本 275
21.3 显示主题列表 279
21.4 显示一个主题中的帖子 281
21.5 向主题添加帖子 285
21.6 小结 287
21.7 Q&A 288
21.8 实践练习 288
第22章 创建一个在线商店 289
22.1 规划和创建数据库表 289
22.1.1 向store_categories表插入记录 290
22.12 向store_items表插入记录 291
22.1.3 向store_item_size表中插入记录 291
22.1.4 向store_item_color表插入记录 292
22.2 显示商品分类 292
22.3 显示商品 295
22.4 小结 297
22.5 实践练习 297
第23章 创建一个购物车机制 298
23.1 规划和创建数据库表 298
23.2 把购物车整合到商店 299
23.2.1 把项目添加到购物车 302
23.2.2 浏览购物车 303
23.2.3 从购物车中删除项目 304
23.3 支付方法和结账过程 306
23.3.1 创建结账页面 306
23.3.2 执行结账操作 306
23.4 小结 307
23.5 实践练习 307
第24章 创建一个简单的日历 308
24.1 构建一个简单的显示日历 308
24.1.1 检查用户输入 308
24.1.2 构建HTML表单 309
24.1.3 创建日历表格 310
24.1.4 向日历添加事件 313
24.2 创建一个日历库 319
24.3 小结 323
24.4 Q&A 324
24.5 实践练习 324
第25章 限制对应用程序的访问 325
25.1 验证概览 325
25.2 Apache验证模块功能 326
25.2.1 基于文件的验证 327
25.2.2 基于数据库文件的访问控制 328
25.3 使用Apache进行访问控制 329
25.3.1 实现访问规则 329
25.3.2 应用访问规则 330
25.4 组合Apache访问方法 331
25.5 根据HTTP方法限制访问 331
25.6 根据cookie值限制访问 332
25.6.1 创建授权用户表 332
25.6.2 创建登录表单和脚本 333
25.6.3 测试auth cookie 335
25.7 小结 336
25.8 Q&A 336
25.9 实践练习 337
第26章 记录并监视Web服务器活动 338
26.1 标准Apache访问日志 338
26.1.1 确定记录什么 338
26.1.2 记录对文件的访问 340
26.1.3 记录对一个程序的访问 341
26.2 标准Apache错误日志 341
26.2.1 把错误记录到一个文件 342
26.2.2 把错误记录到一个程序 342
26.2.3 syslog守护进程参数 342
26.2.4 LogLevel指令 342
26.3 管理Apache日志 343
26.3.1 解析主机名 343
26.3.2 日志备份 343
26.3.3 合并和分割日志 343
26.3.4 日志分析 344
26.3.5 监视错误日志 344
26.4 把自定义信息记录到一个数据库 344
26.4.1 创建数据库表 344
26.4.2 创建PHP代码段 344
26.4.3 创建示例报表 345
26.5 小结 347
26.6 Q&A 348
26.7 实践练习 348
第27章 应用程序本地化 349
27.1 关于国际化和本地化 349
27.2 关于字符集 349
27.3 环境修改 350
27.3.1 Apache的配置修改 350
27.3.2 PHP的配置修改 351
27.3.3 MySQL的配置修改 351
27.4 创建一个本地化页面结构 351
27.5 小结 355
27.6 Q&A 355
27.7 实践练习 356
第28章 使用XML 357
28.1 什么是XML 357
28.2 使用DOM函数在PHP中访问XML 358
28.3 使用SimpleXML函数在PHP中访问XML 360
28.4 小结 363
28.5 实践练习 363
第六部分 管理和优化 365
第29章 Apache性能调校和虚拟主机 365
29.1 可扩展性问题 365
29.1.1 操作系统限制 365
29.1.2 和性能相关的Apache设置 366
29.2 使用ApacheBench载入测试 367
29.3 预先性能调校 369
29.3.1 把文件映射到内存 369
29.3.2 分布负载 369
29.3.3 缓存 369
29.3.4 减少数据传输 370
29.3.5 网络设置 370
29.4 防止滥用 370
29.5 实现虚拟主机 371
29.5.1 基于IP的虚拟主机 371
29.5.2 基于名字的虚拟主机 372
29.5.3 大量虚拟主机 373
29.6 小结 374
29.7 Q&A 374
29.8 实践练习 375
第30章 建立一个安全的Web服务器 376
30.1 安全性的需求 376
30.2 SSL协议 376
30.2.1 解决保密性需求 376
30.2.2 解决完整性的需求 377
30.2.3 解决验证的需求 378
30.3 获取和安装SSL工具 379
30.3.1 OpenSSL 379
30.3.2 mod_ssl Apache模块 380
30.4 管理证书 381
30.4.1 创建一个密钥对 381
30.4.2 创建一个证书签发请求 382
30.4.3 创建一个自签发的证书 383
30.5 SSL配置 383
30.6 小结 384
30.7 Q&A 384
30.8 实践练习 384
第31章 优化和调校MySQL 385
31.1 构建一个优化的平台 385
31.2 MySQL启动选项 386
31.3 优化表结构 387
31.4 优化你的查询 388
31.5 使用FLUSH命令 388
31.6 使用SHOW命令 389
31.6.1 获取有关数据库和表的信息 390
31.6.2 获取表结构信息 391
31.6.3 获取系统状态 393
31.7 小结 393
31.8 Q&A 394
31.9 实践练习 394
第32章 软件升级 395
32.1 停留在循环中 395
32.2 升级MySQL 396
32.3 升级Apache 396
32.4 升级PHP 397
32.5 小结 398
32.6 实践练习 398
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《编程超有趣 奇妙Python轻松学 第1辑》HelloCode人工智能国际研究组 2018
- 《我的第一套编程启蒙绘本 看事件 开始了》编程猫教研团队编绘 2019
- 《STEM教育丛书 麦昆机器人和Micro:bit图形化编程》张弛责任编辑;(中国)陈宝杰,沙靓雯 2019
- 《ROS机器人编程与SLAM算法解析指南》陶满礼 2020
- 《我的第一套编程启蒙绘本 123 序列来啦》编程猫教研团队编绘 2019
- 《高等院校计算机任务驱动教改教材 C语言编程思维 第2版》(中国)陈萌,鲍淑娣 2019
- 《我的第一套编程启蒙绘本 咦 什么在 循环》编程猫教研团队编绘 2019
- 《工业机器人离线编程与仿真》张明文,封家诚,王鑫主编 2019