《PHP、MySQL和Apache入门经典 第5版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)JulieC·Meloni著;李军译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115302700
  • 页数:464 页
图书介绍:本书将PHP、MySQL和Apache这3种流行的开源Web开发工具融于一体,语言通俗易懂、深入浅出。通过本书的学习,读者将学会如何设置以及使用PHP脚本语言、MySQL数据库系统以及Apache Web服务器,来创建出一个动态的Web站点。

第1部分 基础知识 2

第1章 安装QuickStart向导 2

1.1 使用第三方的安装包 2

1.2 Linux/UNIX下的安装 3

1.3 在Windows上安装XAMPP 4

1.4 在Mac OS X上安装XAMPP 6

1.5 让XAMPP更安全 8

1.6 故障排除 9

第2章 安装和配置MySQL 10

2.1 MySQL的当前版本和未来版本 10

2.2 如何获取MySQL 11

2.3 在Linux/UNIX上安装MySQL 11

2.4 在Mac OS X上安装MySQL 12

2.5 在Windows上安装MySQL 14

2.6 安装故障排除 18

2.7 基本安全规则 19

2.7.1 启动MySQL 19

2.7.2 增强MySQL连接的安全 20

2.8 MySQL权限系统简介 20

2.8.1 两步身份验证过程 21

2.8.2 添加用户 22

2.8.3 移除权限 23

2.9 小结 24

2.10 Q&A 24

2.11 实践练习 24

问答题 24

解答 25

思考题 25

第3章 安装和配置Apache 26

3.1 Apache的当前版本及未来版本 26

3.2 选择合适的安装方法 27

3.2.1 从源代码安装 27

3.2.2 安装一个二进制代码版本 27

3.3 在Linux/UNIX上安装Apache 27

3.3.1 下载Apache源代码 28

3.3.2 解压源代码 28

3.3.3 准备编译Apache 28

3.3.4 编译和安装Apache 29

3.4 在Mac OS X上安装Apache 30

3.5 在Windows上安装Apache 30

3.6 Apache配置文件结构 32

3.6.1 指令 32

3.6.2 容器 33

3.6.3 条件评估 34

3.6.4 ServerRoot指令 35

3.6.5 per-directory配置文件 35

3.7 Apache日志文件 36

3.7.1 access_log文件 36

3.7.2 error_log文件 36

3.7.3 其他文件 36

3.8 Apache相关命令 37

3.8.1 Apache服务器二进制程序 37

3.8.2 Apache控制脚本 38

3.9 第一次启动Apache 38

3.9.1 检查你的配置文件 38

3.9.2 启动Apache 39

3.10 故障排除 39

3.10.1 已有Web服务器 39

3.10.2 不允许绑定到端口 40

3.10.3 拒绝访问 40

3.10.4 错误组设置 40

3.11 小结 40

3.12 Q&A 40

3.13 实践练习 41

练习题 41

解答 41

思考题 41

第4章 安装和配置PHP 42

4.1 PHP的当前版本和未来版本 42

4.2 在带有Apache的Linux/UNIX上编译PHP 43

4.2.1 额外的Linux/UNIX配置选项 44

4.2.2 在Linux/UNIX上集成PHP和Apache 44

4.3 在Mac OS X上安装PHP 45

4.4 在Windows上安装PHP 45

4.5 php.ini基础 46

4.6 测试安装 47

4.7 获取安装帮助 47

4.8 PHP脚本基础 48

4.8.1 开始和结束一个PHP语句块 49

4.8.2 echo语句和print()函数 50

4.8.3 组合HTML和PHP 51

4.8.4 为PHP代码添加注释 52

4.9 小结 52

4.10 Q&A 52

实践练习 53

问答题 53

解答 53

思考题 54

第2部分 PHP语言结构 56

第5章 PHP的组成部分 56

5.1 变量 56

5.1.1 全局变量 57

5.1.2 超全局变量 58

5.2 数据类型 58

5.2.1 使用settype()来改变变量的数据类型 60

5.2.2 通过类型转换改变变量的数据类型 61

5.2.3 为何测试类型 63

5.3 操作符和表达式 63

5.3.1 赋值操作符 64

5.3.2 算术操作符 64

5.3.3 连接操作符 64

5.3.4 复合赋值操作符 65

5.3.5 自动增加和减少一个整型变量 66

5.3.6 比较操作符 66

5.3.7 使用逻辑操作符创建复杂的测试表达式 67

5.3.8 操作符优先级 68

5.4 常量 69

5.5 小结 70

5.6 Q&A 70

5.7 实践练习 71

问答题 71

解答 71

思考题 72

第6章 PHP的流程控制功能 73

6.1 转换流程 73

6.1.1 if语句 74

6.1.2 使用else子句的if语句 74

6.1.3 使用带有elseif子句的if语句 75

6.1.4 switch语句 76

6.1.5 使用?运算符 77

6.2 循环 78

6.2.1 while语句 78

6.2.2 do...while语句 79

6.2.3 for语句 79

6.2.4 用break语句跳出循环 80

6.2.5 用continue语句跳过迭代 82

6.2.6 嵌套循环 83

6.3 代码块和浏览器输出 84

6.4 小结 85

6.5 Q&A 86

6.6 实践练习 86

练习题 86

解答 86

思考题 87

第7章 使用函数 88

7.1 什么是函数 88

7.2 调用函数 89

7.3 定义一个函数 90

7.4 从用户定义的函数返回值 92

7.5 变量作用域 92

使用global语句访问变量 93

7.6 使用static语句在函数调用之间保存状态 95

7.7 关于参数的更多内容 96

7.7.1 为参数设置默认值 97

7.7.2 把变量引用传递给函数 98

7.8 测试函数是否存在 99

7.9 小结 100

7.10 Q&A 100

7.11 实践练习 101

问答题 101

解答 101

思考题 102

第8章 使用数组 103

8.1 什么是数组 103

8.2 创建数组 104

8.2.1 创建关联数组 104

8.2.2 创建多维数组 105

8.3 一些和数组相关的函数 107

8.4 小结 108

8.5 Q&A 108

8.6 实践练习 108

问答题 108

解答 108

思考题 108

第9章 使用对象 110

9.1 创建一个对象 110

9.1.1 对象的属性 112

9.1.2 对象方法 113

9.1.3 构造方法 114

9.2 对象继承 114

9.3 小结 116

9.4 Q&A 116

9.5 实践练习 116

问答题 116

解答 117

思考题 117

第3部分 深入编程 120

第10章 使用字符串、日期和时间 120

10.1 使用PHP格式化字符串 121

10.1.1 使用printf() 121

10.1.2 指定一个字段宽度 124

10.1.3 参数交换 126

10.1.4 存储一个格式化字符串 127

10.2 了解PHP中的字符串 127

10.2.1 索引字符串的一个注意事项 127

10.2.2 使用strlen()获取一个字符串的长度 128

10.2.3 使用strstr()获取一个字符串的子串 128

10.2.4 使用strpos()找到一个子字符串的位置 128

10.2.5 使用substr()提取一个字符串的一部分 129

10.2.6 使用strtok()分解一个字符串 129

10.3 在PHP中操作字符串 131

10.3.1 使用trim()、ltrim()和strip_tags()整理一个字符串 131

10.3.2 使用substr_replace()替换一个字符串的一部分 132

10.3.3 使用str_replace()替换子字符串 132

10.3.4 转换大小写 133

10.3.5 使用wordwrap()和n12br()换行文本 134

10.3.6 使用explode()把字符串分解到数组 135

10.4 使用PHP中的日期和时间函数 135

10.4.1 使用time()获取日期 135

10.4.2 使用getdate()转换一个时间戳 136

10.4.3 使用date()转换一个时间戳 137

10.4.4 使用rnktime()创建时间戳 139

10.4.5 使用checkdate()测试日期 140

10.5 其他字符串、日期和时间函数 140

10.6 小结 140

10.7 实践练习 141

10.8 Q&A 141

问答题 141

解答 142

思考题 142

第11章 使用表单 143

11.1 创建一个简单的输入表单 143

11.2 使用用户定义数组访问表单输入 145

11.3 在单个页面上组合HTML和PHP代码 147

11.4 使用隐藏字段来保存状态 149

11.5 重定向用户 150

11.6 根据表单提交发送邮件 151

11.6.1 mail()函数的系统配置 151

11.6.2 创建表单 152

11.6.3 创建发送邮件的脚本 153

11.6.4 使用HTML格式化邮件 155

11.7 使用文件上传 156

11.7.1 创建文件上传表单 156

11.7.2 创建一个文件上传脚本 157

11.8 小结 159

11.9 Q&A 159

11.10 实践练习 160

问答题 160

解答 160

思考题 160

第12章 使用Cookie和用户会话 161

12.1 Cookie简介 161

12.1.1 深入了解一个cookie 162

12.1.2 访问cookies 162

12.2 使用PHP设置一个cookie 163

删除一个cookie 164

12.3 会话函数概览 164

12.4 开始一个会话 165

12.5 使用会话变量 165

12.6 销毁会话和重置变量 169

12.7 在一个带有注册用户的环境中使用会话 169

12.7.1 使用注册的用户 170

12.7.2 使用用户偏好 170

12.8 小结 170

12.9 Q&A 171

12.10 实践练习 171

问答题 171

解答 171

思考题 171

第13章 使用文件和目录 172

13.1 使用include语句包含文件 172

13.1.1 从一个被包含文档返回一个值 173

13.1.2 在控制结构中使用include语句 174

13.1.3 使用include_once语句 175

13.1.4 include_path命令 175

13.2 验证文件 176

13.2.1 使用file_exists()检查文件的存在性 176

13.2.2 文件还是目录 176

13.2.3 检查一个文件的状态 177

13.2.4 使用filesize()确定文件的大小 177

13.2.5 获取有关一个文件的日期信息 177

13.2.6 编写一个执行多文件测试的函数 178

13.3 创建并删除文件 179

13.4 打开一个文件供写入、读取或添加 179

13.5 读取文件 180

13.5.1 使用fgets()和feof()从一个文件读取行 180

13.5.2 使用fread()函数从文件读取任意数量的数据 181

13.5.3 使用fgetc()从文件读取字符 183

13.5.4 用file_get_contents()读取文件内容 184

13.6 写入文件或向文件添加内容 184

13.6.1 使用fwrite()或fputs()写入文件 184

13.6.2 使用file_put_contents()写文件内容 185

13.6.3 使用flock()锁定文件 186

13.7 使用目录 186

13.7.1 使用mkdir()创建目录 186

13.7.2 使用rmdir()删除一个目录 187

13.7.3 使用opendir()打开一个目录以供读取 187

13.7.4 使用readdir()从一个目录读取内容 187

13.8 使用popen()打开到进程和离开进程的管道 188

13.9 使用exec()运行命令 190

13.10 使用system()或passthru()运行命令 191

13.11 小结 192

13.12 Q&A 193

13.13 实践练习 193

问答题 193

解答 194

思考题 194

第14章 使用图像 195

14.1 理解图像创建过程 195

关于颜色 196

14.2 对PHP的必要修改 196

14.3 绘制一个新的图像 197

14.3.1 绘制形状和线条 197

14.3.2 使用颜色填充 199

14.4 绘制有趣的饼图 200

14.5 修改已有图像 202

14.6 使用来自用户输入的图像创建图像 204

14.7 使用脚本创建的图像 208

14.8 小结 210

14.9 Q&A 210

14.10 实践练习 210

问答题 210

解答 210

思考题 211

第4部分 PHP与MySQL整合 214

第15章 理解数据库设计过程 214

15.1 良好的数据库设计的重要性 214

15.2 表关系的类型 215

15.2.1 一对一关系 215

15.2.2 一对多关系 216

15.2.3 多对多关系 217

15.3 理解规范化 218

15.3.1 平表带来的问题 218

15.3.2 第一范式 219

15.3.3 第二范式 219

15.3.4 第三范式 220

15.4 遵从设计过程 220

15.5 小结 221

15.6 Q&A 222

15.7 实践练习 222

问答题 222

解答 222

思考题 222

第16章 SQL基本命令 223

16.1 MySQL数据类型 224

16.1.1 数字数据类型 224

16.1.2 日期和时间类型 225

16.1.3 字符串类型 226

16.2 表的创建语法 226

16.3 使用INSERT命令 227

进一步学习INSERT语句 228

16.4 使用SELECT命令 229

16.4.1 排序SELECT结果 230

16.4.2 限制结果 230

16.5 在查询中使用WHERE 231

16.5.1 在WHERE子句中使用操作符 232

16.5.2 使用LIKE比较字符串 232

16.6 从多个表中查询 233

16.6.1 使用JOIN 235

16.6.2 使用子查询 237

16.7 使用UPDATE命令来修改记录 237

16.7.1 条件式UPDATE 238

16.7.2 在UPDATE中使用已有的列值 239

16.8 使用REPLACE命令 240

16.9 使用DELETE命令 240

条件式DELETE 241

16.10 MySQL中常用的字符串函数 242

16.10.1 长度和连接函数 242

16.10.2 截断和填充函数 244

16.10.3 定位和位置函数 246

16.10.4 子字符串函数 246

16.10.5 字符串修改函数 247

16.11 在MySQL中使用日期和时间函数 248

16.11.1 操作日期 248

16.11.2 操作月份和年份 250

16.11.3 操作周 251

16.11.4 操作小时、分钟和秒 252

16.11.5 使用MySQL格式化日期和时间 252

16.11.6 使用MySQL执行日期算术 254

16.11.7 特殊函数和转换函数 256

16.12 小结 258

16.13 Q&A 259

16.14 实践练习 259

练习题 260

解答 260

思考题 260

第17章 使用MySQL中的事务和存储过程 261

17.1 什么是事务 261

17.1.1 事务中使用的基本语法 262

17.1.2 使用事务的例子 262

17.2 什么是存储过程 264

17.3 小结 265

17.4 Q&A 266

17.5 实践练习 266

练习题 266

解答 266

思考题 266

第18章 使用PHP和MySQL交互 267

18.1 MySQL函数和MySQLi函数 267

18.2 使用PHP连接MySQL 267

18.2.1 进行连接 268

18.2.2 执行查询 269

18.2.3 获取错误消息 270

18.3 使用MySQL数据 270

18.3.1 避免SQL注入 270

18.3.2 使用PHP插入数据 271

18.3.3 使用PHP获取数据 274

18.3.4 PHP中其他的MySQL函数 276

18.4 小结 276

18.5 Q&A 276

18.6 实践练习 277

练习题 277

解答 277

思考题 277

第5部分 基本项目 280

第19章 管理一个简单的邮件列表 280

19.1 开发订阅机制 280

19.1.1 创建subscribers表 281

19.1.2 为共同函数创建一个包含文件 281

19.1.3 创建订阅表单 282

19.2 开发邮件发送机制 286

19.3 小结 288

19.4 Q&A 289

19.5 实践练习 289

问答题 289

解答 289

思考题 289

第20章 创建一个在线地址簿 290

20.1 规划和创建数据库表 290

20.2 为共同函数创建一个包含文件 292

20.3 创建一个菜单 293

20.4 创建记录添加机制 294

20.5 浏览记录 299

20.6 创建记录的删除机制 304

20.7 为一条记录添加子条目 305

20.8 小结 311

20.9 Q&A 311

20.10 实践练习 312

问答题 312

解答 312

思考题 312

第21章 创建一个简单的讨论论坛 313

21.1 设计数据库表 313

21.2 为共同函数创建一个包含文件 314

21.3 创建输入表单和脚本 314

21.4 显示主题列表 318

21.5 显示一个主题中的帖子 320

21.6 向主题添加帖子 323

21.7 小结 326

21.8 Q&A 326

21.9 实践练习 326

问答题 327

解答 327

思考题 327

第22章 创建一个在线商店 328

22.1 规划和创建数据库表 328

22.1.1 向store_categories表插入记录 330

22.1.2 向store_items表插入记录 330

22.1.3 向store_item_size表中插入记录 331

22.1.4 向store_item_color表插入记录 331

22.2 显示商品分类 331

22.3 显示商品 334

22.4 小结 336

22.5 Q&A 336

22.6 实践练习 336

问答题 336

解答 337

思考题 337

第23章 创建一个购物车机制 338

23.1 规划和创建数据库表 338

23.2 把购物车整合到商店 340

23.2.1 把项目添加到购物车 342

23.2.2 浏览购物车 344

23.2.3 从购物车中删除项目 346

23.3 支付方法和结账过程 347

23.3.1 创建结账页面 347

23.3.2 执行结账操作 347

23.4 小结 348

23.5 Q&A 348

23.6 实践练习 349

问答题 349

解答 349

思考题 349

第24章 创建一个简单的日历 350

24.1 构建一个简单的显示日历 350

24.1.1 检查用户输入 350

24.1.2 构建HTML表单 351

24.1.3 创建日历表格 353

24.1.4 向日历添加事件 356

24.2 创建一个日历库 362

24.3 小结 367

24.4 Q&A 367

24.5 实践练习 367

问答题 367

解答 367

思考题 367

第25章 限制对应用程序的访问 368

25.1 验证概览 368

25.1.1 客户机验证 369

25.1.2 用户管理方法 369

25.2 Apache验证模块功能 370

25.2.1 基于文件的验证 371

25.2.2 基于数据库文件的访问控制 372

25.3 使用Apache进行访问控制 373

25.3.1 实现访问规则 373

25.3.2 应用访问规则 374

25.4 组合Apache访问方法 375

25.5 根据HTTP方法限制访问 375

25.6 根据cookie值限制访问 376

25.6.1 创建授权用户表 376

25.6.2 创建登录表单和脚本 377

25.6.3 测试auth cookie 379

25.7 小结 380

25.8 Q&A 380

25.9 实践练习 381

问答题 381

解答 381

思考题 382

第26章 记录并监视Web服务器活动 383

26.1 标准Apache访问日志 383

26.1.1 确定记录什么 384

26.1.2 记录对文件的访问 386

26.1.3 记录对一个程序的访问 387

26.2 标准Apache错误日志 387

26.2.1 把错误记录到一个文件 388

26.2.2 把错误记录到一个程序 388

26.2.3 syslog守护进程参数 388

26.2.4 LogLevel指令 388

26.3 管理Apache日志 389

26.3.1 解析主机名 389

26.3.2 日志备份 389

26.3.4 日志分析 390

26.3.5 监视错误日志 390

26.4 把自定义信息记录到一个数据库 390

26.4.1 创建数据库表 391

26.4.2 创建PHP代码段 391

26.4.3 创建示例报表 392

26.5 小结 394

26.6 Q&A 394

26.7 实践练习 394

问答题 394

解答 394

思考题 395

第27章 应用程序本地化 396

27.1 关于国际化和本地化 396

27.2 关于字符集 397

27.3 环境修改 398

27.3.1 Apache的配置修改 398

27.3.2 PHP的配置修改 398

27.3.3 MySQL的配置修改 399

27.4 创建一个本地化页面结构 399

27.5 使用gettext()来本地化应用程序 402

27.6 小结 403

27.7 Q&A 404

27.8 实践练习 404

问答题 404

解答 404

思考题 404

第28章 使用XML 405

28.1 什么是XML 405

28.1.1 基本XML文档结构 405

28.1.2 何时应该使用XML和PHP 406

28.2 使用DOM函数在PHP中访问XML 407

28.3 使用SimpleXML函数在PHP中访问XML 409

28.4 使用JSON 411

28.5 小结 414

28.6 Q&A 414

28.7 实践练习 414

问答题 415

解答 415

思考题 415

第6部分 管理和优化 418

第29章 Apache性能调校和虚拟主机 418

29.1 可扩展性问题 418

29.1.1 操作系统限制 418

29.1.2 和性能相关的Apache设置 420

29.2 使用ApacheBench载入测试 421

29.3 预先性能调校 423

29.3.1 把文件映射到内存 423

29.3.2 分布负载 423

29.3.3 缓存 423

29.3.4 减少数据传输 423

29.3.5 网络设置 424

29.4 防止滥用 424

29.5 实现虚拟主机 425

29.5.1 基于IP的虚拟主机 425

29.5.2 基于名字的虚拟主机 426

29.5.3 大量虚拟主机 428

29.6 小结 428

29.7 Q&A 429

29.8 实践练习 429

问答题 430

解答 430

第30章 建立一个安全的Web服务器 431

30.1 安全性的需求 431

30.2 SSL协议 431

30.2.1 解决保密性需求 432

30.2.2 解决完整性的需求 433

30.2.3 解决验证的需求 433

30.3 获取和安装SSL工具 435

30.3.1 OpenSSL 435

30.3.2 Apache的mod_ssl模块 436

30.4 管理证书 437

30.4.1 创建一个密钥对 437

30.4.2 创建一个证书签发请求 438

30.4.3 创建一个自签发的证书 439

30.5 SSL配置 439

启动服务器 440

30.6 小结 440

30.7 Q&A 440

30.8 实践练习 441

问答题 441

解答 441

第31章 优化和调校MySQL 442

31.1 构建一个优化的平台 442

使用benchmark()函数 443

31.2 MySQL启动选项 444

关键启动参数 444

31.3 优化表结构 445

31.4 优化你的查询 445

31.5 使用FLUSH命令 446

31.6 使用SHOW命令 447

31.6.1 获取有关数据库和表的信息 448

31.6.2 获取表结构信息 449

31.6.3 获取系统状态 451

31.7 小结 452

31.8 Q&A 452

31.9 实践练习 452

问答题 452

解答 453

思考题 453

第32章 软件升级 454

32.1 停留在循环中 454

何时升级 454

32.2 升级MySQL 455

32.3 升级Apache 456

修改Apache而不需要升级 456

32.4 升级PHP 457

使用PECL和PEAR扩展PHP 457

32.5 小结 457

32.6 实践练习 457

问答题 458

解答 458

思考题 458

第33章 使用应用程序框架 459

33.1 理解应用程序框架 459

33.2 使用MVC模式 460

33.3 安装和使用PHP应用程序框架 461

33.3.1 Zend Framework 461

33.3.2 CakePHP 462

33.3.3 CodeIgniter 462

33.4 小结 463

33.5 实践练习 463

问答题 463

解答 463

思考题 464