《PHP、MYSQL和APACHE编程导学》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)JULIE C.MELONI著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:9787111327802
  • 页数:398 页
图书介绍:

第一部分 基础知识第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.1 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语言结构第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

第三部分 深入编程第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()和nl2br()换行文本 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整合第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

第五部分 基本项目第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.1.2 向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

第六部分 管理和优化第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