《PHP经典实例》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:戴维·斯克拉,亚当·切贝特伯格著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2009
  • ISBN:9787508386089
  • 页数:816 页
图书介绍:PHP是动态Web应用程序背后的引擎。其博大广泛的特性集合、简捷友好的语法结构以及对不同操作系统和Web服务器的支持,已经使它成为实现敏捷Web开发和构建复杂系统的一门理想语言。本书通过大量实例讲解了使用PHP进行Web编程的方法和技巧,内容包括基本数据类型处理、变量与函数、面向对象编程方法、cookie和表单处理、数据库操作、网络服务、图形编程、文件系统等内容,囊括了使用PHP进行Web应用编程的方方面面,读者既可参照本书循序渐进学习,也能随时查找本书实例以获得帮助。

前言 1

第1章 字符串 11

1.0 概述 11

1.1 访问子字符串 15

1.2 提取子字符串 15

1.3 替换子字符串 17

1.4 逐字节处理字符串 19

1.5 按字或按字节来反转字符串 21

1.6 扩展和压缩制表符 22

1.7 控制大小写 24

1.8 在字符串中插入函数和表达式 27

1.9 删除字符串两端的空白符 28

1.10 生成逗号分隔的数据 29

1.11 解析逗号分隔的数据 31

1.12 生成字段宽度固定的数据记录 32

1.13 解析字段宽度固定的数据记录 34

1.14 分离字符串 37

1.15 使文本在特定长度处自动换行 40

1.16 在字符串中存储二进制数据 42

1.17 编程:可下载的CSV文件 45

第2章 数字 48

2.0 概述 48

2.1 检查变量中是否包含有效的数字 49

2.2 比较浮点型数字 50

2.3 对浮点型数取整 51

2.4 操纵一系列连续的整数 53

2.5 在一个范围内生成随机数 54

2.6 生成有偏随机数 56

2.7 取对数 57

2.8 计算指数 58

2.9 格式化数字 59

2.10 格式化货币值 61

2.11 正确地打印复数 62

2.12 计算三角函数 64

2.13 用度数而不是弧度来度量三角 65

2.14 处理极大数或极小数 66

2.15 在不同进制间转换 68

2.16 非十进制数的计算 69

2.17 计算球面坐标系中两点间的距离 70

第3章 日期和时间 73

3.0 概述 73

3.1 查出当前的日期和时间 74

3.2 将时间和日期部件转换为纪元时间戳 77

3.3 将纪元时间戳转换为时间和日期部件 79

3.4 以特定的格式打印日期和时间 80

3.5 计算两个日期间的时间差 86

3.6 用儒略日计算两个日期间的时间差 88

3.7 找到周、月或者年中的某一天 90

3.8 验证日期 92

3.9 从字符串中解析日期和时间 94

3.10 对日期进行加、减运算 97

3.11 根据时区计算时间 98

3.12 处理夏令时 104

3.13 生成高精度的时间 106

3.14 生成时间范围 107

3.15 使用非公历纪年 109

3.16 使用纪元时间戳范围之外的日期 114

3.17 编程:日历 115

第4章 数组 119

4.0 概述 119

4.1 定义一个起始元素不为零的数组 122

4.2 用数组中的一个键保存多个元素 123

4.3 用一个整数范围来初始化数组 125

4.4 遍历数组 126

4.5 从数组中删除元素 128

4.6 改变数组大小 131

4.7 将一个数组追加到另一个数组 133

4.8 把数组转换成字符串 135

4.9 使用逗号来打印数组 137

4.10 检查数组中是否存在某个键 138

4.11 检查数组中是否包含某个元素 139

4.12 确定值在数组中的位置 140

4.13 确定通过某种测试的元素 141

4.14 确定数组中经计算后的最大或最小元素 143

4.15 反转数组 144

4.16 数组排序 145

4.17 根据可计算的字段对数组进行排序 146

4.18 对多个数组进行排序 149

4.19 使用方法而不是函数来对数组进行排序 150

4.20 对数组进行随机化处理 151

4.21 删除数组中重复的元素 152

4.22 对数组中的每个元素都应用一个函数 153

4.23 计算两个数组的并集、交集和差集 155

4.24 创建一个类数组对象 158

4.25 编程:输出水平居中的HTML表格 161

第5章 变量 164

5.0 概述 164

5.1 消除==和=的困扰 165

5.2 为变量设定默认值 166

5.3 不使用临时变量而实现变量值的交换 167

5.4 动态创建变量名 168

5.5 使用静态变量 170

5.6 在进程间共享变量 171

5.7 把复杂的数据类型压缩到一个字符串中 176

5.8 将变量内容转存为字符串 178

第6章 函数 182

6.0 概述 182

6.1 访问函数的参数 183

6.2 为函数的参数设定默认值 184

6.3 传递引用 186

6.4 使用命名的参数 187

6.5 创建可以接受个数可变的参数的函数 188

6.6 返回变量的引用 191

6.7 返回多个值 193

6.8 跳跃选择返回的值 194

6.9 返回失败信息 196

6.10 调用可变函数 197

6.11 在函数内部访问全局变量 200

6.12 创建动态函数 201

第7章 类和对象 203

7.0 概述 203

7.1 技巧化对象 207

7.2 定义对象构造器 208

7.3 定义对象解构器 210

7.4 实现访问控制 211

7.5 防止修改类和方法 214

7.6 定义字符串化的对象 215

7.7 定义接口 218

7.8 创建抽象的基类 220

7.9 传递对象引用 223

7.10 克隆对象 223

7.11 重要的属性访问 226

7.12 调用由另一个方法返回对象的方法 231

7.13 聚合对象 231

7.14 访问被覆盖的方法 235

7.15 使用方法的多态性 237

7.16 定义类常量 239

7.17 定义静态属性和方法 241

7.18 控制对象的序列化 243

7.19 分析对象 245

7.20 检查某对象是不是一个特定类的技巧 249

7.21 在对象技巧化期间自动地加载类文件 252

7.22 动态技巧化一个对象 254

7.23 编程:whereis 255

第8章 Web基础 258

8.0 概述 258

8.1 设置Cookie 259

8.2 读取Cookie的值 261

8.3 删除Cookie 262

8.4 重定向到一个不同的位置 263

8.5 检测不同的浏览器 264

8.6 建立查询字符串 266

8.7 读取Post请求的主体 267

8.8 生成具有交替样式的HTML表格 268

8.9 使用HTTP的基本或摘要认证 269

8.10 使用Cookie认证 274

8.11 把输出冲刷(Flushing)到浏览器 276

8.12 缓冲到浏览器的输出 277

8.13 压缩Web输出 279

8.14 读取环境变量 280

8.15 设置环境变量 281

8.16 在Apache服务器内部通信 282

8.17 编程:网站账户(反)激活 283

8.18 编程:小型Wiki 286

第9章 表单 289

9.0 概述 289

9.1 处理表单的输入 291

9.2 验证表单输入:必填字段 292

9.3 验证表单输入:数字 294

9.4 验证表单输入:电子邮件地址 297

9.5 验证表单输入:下拉菜单 298

9.6 验证表单输入:单选按钮 300

9.7 验证表单输入:复选框 301

9.8 验证表单输入:日期和时间 303

9.9 验证表单输入:信用卡 304

9.10 预防跨站点脚本 306

9.11 处理多页表单 307

9.12 重新显示带有内置错误提示的表单 308

9.13 防止多次提交同一表单 311

9.14 处理上传文件 313

9.15 防止全局变量注射 316

9.16 处理名字中带句点的远程变量 318

9.17 使用带有多个选项的表单元素 319

9.18 基于当前日期创建下拉菜单 320

第10章 访问数据库 322

10.0 概述 322

10.1 使用DBM数据库 325

10.2 使用SQLite数据库 329

10.3 连接到SQL数据库 331

10.4 查询一个SQL数据库 332

10.5 不通过循环抽取记录 335

10.6 修改SQL数据库中的数据 336

10.7 有效地重复查询 337

10.8 确定查询返回的行数 341

10.9 转义引号 342

10.10 记录调试信息和错误 344

10.11 创建唯一的标识符 346

10.12 以程序化的方式建立查询 348

10.13 为连续的记录生成分页链接 353

10.14 缓存查询和结果 356

10.15 在程序中任何地方都能访问数据库连接 358

10.16 编程:存储链式(Threaded)留言板 360

第11章 Session和数据保持 369

11.0 概述 369

11.1 使用Session跟踪 370

11.2 预防Session劫持 372

11.3 预防Session定置 374

11.4 在数据库中保存Session 375

11.5 在共享内存中保存Session 376

11.6 在共享内存中保存独立数据 381

11.7 在摘要表中缓存计算结果 383

第12章 XML 385

12.0 概述 385

12.1 生成XML为字符串 388

12.2 通过DOM生成XML 390

12.3 解析基本的XML文档 393

12.4 解析复杂的XML文档 395

12.5 解析大型XML文档 398

12.6 用XPath来提取信息 405

12.7 通过XSLT转换XM L 408

12.8 在PHP中设置XSLT参数 410

12.9 在XSLT样式表中调用PHP函数 412

12.10 验证XML文档 416

12.11 处理内容编码 419

12.12 读取RSS和Atom源 420

12.13 生成RSS源 423

12.14 生成Atom源 426

第13章 Web自动化 431

13.0 概述 431

13.1 通过Get方法定位URL 432

13.2 通过Post方法定位URL 437

13.3 通过Cookie定位URL 439

13.4 通过任意头部信息定位URL 441

13.5 通过任意方法定位URL 443

13.6 通过超时定位URL 445

13.7 定位HTTPS URL 447

13.8 调试原始HTTP数据交换 448

13.9 标记网页 453

13.10 清理不完整或非标准的HTML 456

13.11 从HTML文件中提取链接 458

13.12 将纯文本转换为HTML 460

13.13 将HTML转换为文本 461

13.14 删除HTML和PHP标签 462

13.15 响应Ajax请求 464

13.16 与JavaScript应用集成 466

13.17 编程:查找失效的链接 470

13.18 编程:查找新链接 472

第14章 消费Web服务 476

14.0 概述 476

14.1 调用REST方法 477

14.2 通过WSDL调用SOAP的方法 479

14.3 不通过WSDL调用SOAP的方法 481

14.4 调试SOAP请求 482

14.5 使用复杂的SOAP类型 484

14.6 设置SOAP类型 485

14.7 使用SOAP头部 487

14.8 通过SOAP实现认证 489

14.9 重新定义终点 490

14.10 捕捉SOAP故障 492

14.11 将XML模式数据类型映射为PHP类 494

14.12 调用XML-RPC方法 495

14.13 通过XML-RPC实现验证 498

第15章 建立Web服务 500

15.0 概述 500

15.1 以REST方法提供服务 500

15.2 以SOAP方法提供服务 507

15.3 在SOAP方法中接受参数 510

15.4 自动生成WSDL文件 512

15.5 抛出SOAP故障 513

15.6 处理SOAP头部信息 515

15.7 生成SOAP头部信息 518

15.8 通过SOAP实现验证 520

15.9 以XML-RPC方法提供服务 526

第16章 互联网服务 531

16.0 概述 531

16.1 发送电子邮件 532

16.2 发送MIME邮件 535

16.3 通过IMAP或POP3读取邮件 537

16.4 将邮件发表到Usenet新闻组 540

16.5 读取Usenet新闻消息 543

16.6 通过FTP取得及放置文件 547

16.7 通过LDAP找地址 550

16.8 通过LDAP进行用户身份验证 552

16.9 执行DNS查找 554

16.10 检查主机是否处于活动状态 556

16.11 获取与域名相关的信息 558

第17章 图形 561

17.0 概述 561

17.1 绘制直线、矩形和多边形 564

17.2 绘制弧形、椭圆形和圆形 566

17.3 用图案化的线条绘制图形 568

17.4 绘制文本 569

17.5 绘制居中的文本 572

17.6 生成动态图像 577

17.7 取得并设置透明颜色 579

17.8 读取EXIF数据 580

17.9 安全地提供图像 583

17.10 编程:根据投票结果生成条形图 584

第18章 安全和加密 588

18.0 概述 588

18.1 预防Session定置 589

18.2 防止表单提交骗术 590

18.3 确保过滤输入 591

18.4 避免跨站点脚本 592

18.5 避免SQL注入 593

18.6 将密码置于站点文件外部 594

18.7 存储密码 595

18.8 处理遗忘的密码 597

18.9 使用散列码验证数据 599

18.10 加密和解密数据 601

18.11 把加密的数据保存到文件或数据库 606

18.12 在网站之间共享加密数据 610

18.13 检测SSL 612

18.14 通过GPG加密电子邮件 613

第19章 国际化和本地化 615

19.0 概述 615

19.1 列举有效的地区 617

19.2 使用特定的地区 618

19.3 设置默认地区 619

19.4 本地化文本消息 620

19.5 本地化日期和时间 624

19.6 本地化货币值 625

19.7 本地化图像 629

19.8 本地化包含文件 631

19.9 管理本地化资源 632

19.10 使用gettext 634

19.11 设置传出数据的字符编码 636

19.12 设置输入数据的字符编码 636

19.13 操纵UTF-8编码的文本 637

第20章 错误处理,故障排除和测试 643

20.0 概述 643

20.1 发现并修复解析错误 644

20.2 创建自己的异常类 646

20.3 输出栈轨迹 649

20.4 读取配置变量 650

20.5 设置配置变量 652

20.6 对用户隐藏错误信息 653

20.7 调谐错误处理 654

20.8 使用自定义错误处理函数 657

20.9 记录错误 658

20.10 消除“headers already sent”错误 660

20.11 记录调试信息 661

20.12 使用扩展的调试程序 663

20.13 编写单元测试 669

20.14 编写单元测试套件 672

20.15 对网页应用单元测试 674

20.16 设置测试环境 676

第21章 性能调谐和负载测试 677

21.0 概述 677

21.1 计算函数执行时间 678

21.2 计算程序执行时间 679

21.3 通过排错扩展进行代码剖析 683

21.4 对网站进行压力测试 685

21.5 避免使用正则表达式 686

21.6 使用加速器 688

第22章 正则表达式 691

22.0 概述 691

22.1 从ereg转换到preg 695

22.2 匹配单词 697

22.3 查找第n个匹配项 698

22.4 选择进行贪婪或非贪婪匹配 699

22.5 找到一个文件中与模式匹配的所有行 701

22.6 在HTML标签中捕获文本 702

22.7 阻止对子模式匹配文本的捕获 704

22.8 转义正则表达式中的特殊字符 706

22.9 通过模式分隔符读取记录 707

22.10 在正则表达式中使用PHP函数 709

第23章 文件 714

23.0 概述 714

23.1 创建或打开一个本地文件 718

23.2 创建一个临时文件 720

23.3 打开远程文件 721

23.4 从标准输入中读取数据 722

23.5 把文件内容读取到字符串中 723

23.6 计算文件中的行数、段数或记录数 725

23.7 处理文件中的每一个词 728

23.8 从文件中随机提取一行 730

23.9 随机化处理文件中的所有行 731

23.10 处理长度可变的文本字段 732

23.11 读取配置文件 733

23.12 不通过临时文件而实现对文件的修改 735

23.13 将缓冲内容刷出到一个文件中 737

23.14 写入标准输出 738

23.15 同时写入到多个文件句柄 739

23.16 转义Shell中的元字符串 740

23.17 向程序传递输入数据 742

23.18 从程序中读取标准输出 743

23.19 从程序中读取标准错误信息 745

23.20 锁定文件 746

23.21 读写自定义文件类型 749

23.22 读写压缩文件 754

第24章 目录 756

24.0 概述 756

24.1 获取并设置文件时间戳 759

24.2 获取文件信息 760

24.3 修改文件权限或所有者 763

24.4 按其组成部分分割文件名 764

24.5 删除文件 765

24.6 复制或移动文件 766

24.7 处理同一目录中的所有文件 767

24.8 生成与模式匹配的文件名列表 769

24.9 递归地处理同一目录中的所有文件 771

24.10 创建新目录 772

24.11 删除目录及其内容 772

24.12 编程:Web服务器目录列表 774

24.13 编程:网站搜索 778

第25章 命令行PHP 782

25.0 概述 782

25.1 解析程序参数 784

25.2 通过getopt解析程序参数 785

25.3 读取键盘输入 789

25.4 针对输入文件的每一行运行PHP代码 791

25.5 读取密码 793

25.6 编程:命令解释程序 795

第26章 PEAR和PECL 799

26.0 概述 799

26.1 使用PEAR安装程序 801

26.2 查找PEAR包 805

26.3 查找有关包的信息 807

26.4 安装PEAR包 808

26.5 升级PEAR包 811

26.6 卸载PEAR包 812

26.7 安装PECL包 814