PHP 5 in Practice中文版

PHP 5 in Practice中文版
作 者: Elliott White Ⅲ;Jonathan Eisenhamer 王军
出版社: 人民邮电出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: php
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书提供作译者介绍Elliott White III从1995年就成为一名专业程序员,他在国际PHP和Web会议上发表过多种报告,内容包含PHP、CSS和XHTML,并且帮助Brainbench开发了一些编程能力认证。他目前作为高级PHP程序员为digg.com工作。.Jonathan Eisenhamer曾经是UCLA(加利福尼亚大学洛杉矶分校)天文学系的系统管理员及软件开发员,而后就职于空间望远镜科学研究院(STScI),开始使用PHP开发Web站点,把哈勃望远镜的科学成果公布于众。他目前是STScI里“Web及输出”组的主管。...

内容简介

本书针对开发人员在日常工作中可能遇到的问题,利用最新版本的PHP 5提供了解决方案,内容涉及数据库操作、动态创建Web页面、数据检验、电子邮件、用户验证、错误处理与调试等多个方面。全书分为三部分。第一部分介绍了PHP 5的所有特性,语言简洁明了、通俗易懂。第二部分为应用实战,是对前面知识的具体应用和常见问题的实际解决方案,采用面向问题的写作风格,言之有物,使读者很容易检验前面的知识并解决具体项目中的问题。第三部分为附录,介绍迁移到PHP 5时面临的问题和标准库,以及常见错误的应对策略。本书能够帮助有一定编程经验的PHP开发人员解决开发过程中遇到的问题,书中提供了大量详尽的代码,并重点说明了其中的关键之处,是一本不可多得的PHP参考书。PHP脚本语言在未来的Web开发中的地位是不能动摇的,LAMP战场上能够长驱直入,PHP的作用是不能忽视的。现在的Web开发项目中,无论是商业产品,还是开源项目,PHP的地位是显而易见的,特别是CMS系统,PHP可以说是通知了这个市场。本书是关于PHP的最新版本——PHP 5的最好的书籍,可以说是O’reilly的CookBook和Nutshell系列的结合,是充分吸收了他们的优势而编写的。全书分为3部分,三部分结合成了一个完整的整体。不可分割的一本好书,应当说目前市面上最好的PHP5的书。

图书目录

第一部分 PHP基础知识

第1章 字符串 3

1.1 匹配模板(正则表达式) 6

1.2 清除空白 8

1.3 扩展和压缩制表符 8

1.4 在Macintosh、UNIX和PC格式之间转化文本 10

1.5 解析逗号分隔的数值(CSV) 11

1.6 针对指定空间来截短文本 13

1.7 填充数据数组,以列的形式显示 14

1.8 检查单词拼写 15

1.9 匹配近似的字符串 17

1.10 实现标题的正确大写 18

1.11 生成惟一标识符 20

1.12 统计某个单词出现的次数 21

第2章 数值 23

2.1 从字符串里提取数值 25

2.2 输出正确的复数文本 26

2.3 把数值转化为罗马数字 27

2.4 计算利息 28

2.5 模拟骰子 33

2.6 计算经纬度 34

2.7 公制/英制转化 39

2.8 温度转化 42

2.9 创建统计程序包 43

第3章 日期与时间 46

3.1 计算两个日期之间的差 48

3.2 确定指定月份的最后一天 50

3.3 闰年的计算 51

3.4 处理时区 51

3.5 处理数据库或文件中的时标 53

3.6 确定工作日的数量 54

3.7 生成指定月份的日历 56

第4章 变量 60

4.1 判断两个变量是否相等 61

4.2 从函数内部访问外部变量(全局变量) 63

4.3 在函数内部保存持久值(静态变量) 64

4.4 让一个变量指向另一个变量(引用) 65

4.5 使用变量保存另一个变量的名称 65

4.6 声明常数 67

4.7 在多个数值里判断第一个非假数值 67

第5章 数组 69

5.1 超全局数组及其应用 73

5.2 实现堆栈 74

5.3 实现队列 77

5.4 根据用户定义的比较函数进行排序 79

5.5 使用其他算法进行排序 81

5.6 递归处理多维数组 85

5.7 对数组执行集合操作 87

5.8 使用数组实现矩阵的数学运算 88

第6章 函数 96

6.1 设置可选参数 97

6.2 创建递归函数 98

6.3 使用变量中保存的名称调用函数 99

6.4 动态创建函数(λ样式) 101

6.5 使用函数数组 102

6.6 按引用传递或返回值 103

6.7 使用任意数量的参数 105

6.8 要求参数为特定类型 106

第7章 类和对象 108

7.1 自动加载类的源文件 110

7.2 保护对象数据(公共/私有/受保护) 113

7.3 在对象创建或销毁时自动执行代码 113

7.4 不进行实例化就访问类的成员 114

7.5 扩展类定义 116

7.6 创建抽象类 118

7.7 使用对象接口 120

7.8 动态变量名和重载变量名 122

7.9 方法重载 126

7.10 实现链表 129

7.11 实现二叉树 132

第8章 文件和目录 138

8.1 生成完整目录列表 141

8.2 文件大小的常规显示 142

8.3 重新命名一个目录里的全部文件 145

8.4 在目录树里搜索文件 147

8.5 处理相对和绝对路径 148

8.6 通过HTTP或FTP读取文件 150

8.7 实时查看文件内容(模拟UNIX的tail –f) 152

8.8 生成两个文件的差别报告 154

8.9 锁定文件独占使用 158

8.10 在本地缓存远程文件 162

8.11 文件压缩与解压 165

8.12 自动从父目录包含特定文件 167

第二部分 应 用

第9章 生成Web页面/XHTML/CSS 171

9.1 创建多级下拉菜单 172

9.2 突出显示用户所在的站点区域 178

9.3 显示动态进程栏 179

9.4 利用XHTML/CSS模拟图表 182

9.5 Web页面的分页 185

9.6 为服务器优化而缓存Web页面输出 187

9.7 用不同语言实现Web页面本地化 189

9.8 联合使用Ajax和PHP创建交互式Web页面 192

第10章 处理Web表单 196

10.1 轻松获取表单数据 197

10.2 获取表单数据的多维数组 198

10.3 共同使用GET和POST表单数据 200

10.4 接受上传文件 201

10.5 生成选择语句 203

10.6 表单的必填字段 206

10.7 显示在公告板上的文本 208

10.8 为链接添加警示信息 210

10.9 避免表单重复提交 211

第11章 数据检验与标准化 214

11.1 电话号码 215

11.2 邮政编码 217

11.3 社会保障号(SSN) 218

11.4 数字 220

11.5 信用卡号码 221

11.6 日期 223

11.7 电子邮件账户 224

11.8 URL 225

第12章 会话与用户追踪 227

12.1 利用cookie记录数据 228

12.2 利用会话保存用户数据 231

12.3 针对用户实现自定义显示设置 235

12.4 创建函数库用于追踪站点上的用户 238

12.5 实现简单的购物车 240

12.6 在服务器之间传递会话数据 244

12.7 从日志文件解析特定浏览器信息 246

第13章 Web服务和其他协议 251

13.1 提交具有cURL的POST HTTP请求 252

13.2 与LDAP服务器通信 254

13.3 通过SOAP使用Web服务 255

13.4 连接到FTP服务器 258

13.5 创建基于PHP的FTP客户端 259

13.6 使用套接字连接到互联网服务器 264

13.7 创建基本的Web服务程序 265

第14章 关系型数据库 270

14.1 与MySQL的通信 271

14.2 与Oracle的通信 272

14.3 与PostgreSQL的通信 274

14.4 与Sybase的通信 275

14.5 与Microsoft SQL服务器的通信 277

14.6 与SQLite的通信 279

14.7 通过ODBC与数据库进行通信 280

14.8 使用抽象层与数据库进行通信(PDO) 281

14.9 实现基于SQLite的博客 283

第15章 其他数据存储方法 287

15.1 创建和读取CSV文件 288

15.2 利用自定义文本文件存储数据 289

15.3 访问和更新DBM风格的数据库 291

15.4 通过序列化和去序列化保存数据 293

15.5 自动创建和更新PHP包含文件 294

第16章 电子邮件 295

16.1 发送电子邮件(文本/HTML/双重格式/内嵌图像/附件) 296

16.2 判断电子邮件账户是否存在 305

16.3 邮件群发 307

16.4 实现基本的邮件列表软件 311

16.5 防止电子邮件地址被恶意收集 313

16.6 创建监视进程,在Web页面改变时发送电子邮件 314

第17章 XML 317

17.1 解析XML文件来获取数据 319

17.2 使用XPath对XML进行搜索 320

17.3 验证XML文档 321

17.4 利用XSLT把XML转化为XHTML 324

17.5 创建RSS文件 326

17.6 为Web站点创建RSS显示脚本 328

第18章 图像 330

18.1 生成包含文本的复合图像 333

18.2 绘图技巧 337

18.3 在图像里使用透明背景 339

18.4 创建图形/图表函数库 340

18.5 根据数码相机文件自动创建相册 349

第19章 错误报告与调试 352

19.1 自定义错误处理程序 353

19.2 利用异常机制处理错误 355

19.3 脚本执行计时 358

19.4 使用关闭函数处理脚本错误 361

19.5 为错误报告生成详细的向后追踪 362

第20章 用户验证与加密 364

20.1 生成随机密码 364

20.2 通过加密保护数据 366

20.3 用于真实用户检测的简单CAPTCHA 368

20.4 验证用户 371

第三部分 附 录

附录A 迁移到PHP 5 375

A.1 对象模型 375

A.2 MySQL模块 376

A.3 CLI和CGI 376

A.4 类、方法和函数对于大小写的区分 377

A.5 array_merge() 377

A.6 返回引用的函数 377

附录B SPL 378

B.1 基本接口 378

B.2 创建自己的迭代器 381

B.3 迭代器的扩展与级联 383

B.4 更深入的内容 384

B.5 递归迭代 385

B.6 定义递归迭代类 385

附录C PHP常见错误消息 387

C.1 错误级别 387

C.2 输出结果:空白页面 388