第一部分 语言结构和相关技术 1
第1章 字符串的使用 3
1.1 查找部分串 4
1.2 三元操作符 7
1.3 变量交换 8
1.4 使用Asc??字符和数值 9
1.5 一次处理字符串的一个字符 10
1.6 反转单词和字符 12
1.8 加密和解密 13
1.7 创建唯一标识 13
1.9 大小写转换 15
1.10 避开字符 17
1.11 删除字符串中的空白 18
1.12 分析逗号隔离的数据 19
1.13 转换字符集 20
1.14 解析URL 21
1.15 查找一个字符串的读音密钥 22
第2章 数字 25
2.1 检验一个变量是否为有效的数字 26
2.2 使用非浮点型非长型的数字 27
2.3 取舍精度数 28
2.4 二进制和十进制的相互转换 30
2.5 使用一系列数字 31
2.6 使用罗马数字 32
2.7 生成随机数 33
2.8 使数字更加随机化 34
2.9 生成不同的随机数 35
2.10 生成偏向性随机数 38
2.11 三角函数中使用角度而不是弧度 39
2.12 计算更多的三角函数 40
2.13 处理对数 41
2.14 验证信用卡号 42
2.15 八进制和十六进制相互转换 44
2.16 数字中加上逗号 45
2.17 不同进制数的相互转换 46
第3章 日期和时间 47
3.1 将今天的日期加载到一个数组中 48
3.2 检验一个日期的有效性 49
3.3 限制日期间隔 50
3.4 查的不同地域的时间和日期 51
3.5 格式化时间信息 53
3.6 从字符串解析时间和日期 55
3.7 测定执行速度 56
3.8 中断程序的执行 61
第4章 数组 63
4.1 在程序中定义一个数组 64
4.2 输出一个带有逗号的清单 65
4.3 改变数组的大小 66
4.4 操作数组的每一项 67
4.5 通过引用重复数组 69
4.6 从数组中提取唯一的元素 70
4.7 从一个数组中返回当前元素 71
4.8 查找一个数组中存在而另一个数组中不存在的元素 72
4.9 不同数组的并、交、差运算 73
4.10 将一个数组追加到另一个数组 75
4.12 处理一个数组中多个元素 77
4.11 反转一个数组 77
4.13 查找数组中的第一个元素 79
4.14 查找与标准匹配的全部元素 80
4.15 使用用户定义的比较函数进行数组排序 81
4.16 随机化一个数组 83
4.17 基于Perl的数组操纵特征 83
4.18 敏感排序 84
第5章 相联数组 87
5.1 增加一个元素到相联数组 88
5.2 检测关键字是否出现在相联数组中 89
5.3 从相联数组中删除一项 90
5.4 遍历一个相联数组 91
5.5 输出一个相联数组 93
5.6 处理多维数组 93
5.7 检查一个值是否存在 95
5.8 倒置一个相联数组 96
5.9 排序一个相联数组并保持索引相关 97
5.10 合并相联数组 97
第6章 规则表达式 101
6.2 匹配字母 107
6.1 复制和替换 107
6.3 在PHP中使用Perl兼容的规则表达式 109
6.4 PCRE库和Perl规则表达式之间的不兼容性 111
6.5 匹配多行 113
6.6 读字符串隔离的记录 114
6.7 提取行范围 115
6.8 使用规则表达式检验Web数据 117
6.9 测试一个有效的规则表达式 117
6.10 查找第n个(Nth)匹配 118
6.11 查找重复的词语 120
6.12 检验邮件地址的有效性 121
6.13 匹配缩写词 122
第7章 文件访问 125
7.1 打开一个文件 127
7.2 创建临时文件 128
7.3 将一个文件保存到程序中 130
7.4 检测一个文件是否有效 131
7.5 刷新Cache 132
7.6 锁定文件 134
7.8 给用户显示文本文件 136
7.7 在指定的驱动器上获取剩余的磁盘空间 136
7.9 检测文件权限 137
7.10 STDIN,STDOUT,STDERR 138
第8章 文件内容 141
8.1 使用连接符读文件的行 142
8.2 将文件中的行(或段,记录)列表 143
8.3 处理文件中的每一个词语 143
8.5 从文件中随机取出一行 145
8.4 逐行反向读文件 145
8.6 随机化文件中的所有行 147
8.7 读出文件的特定行 149
8.8 处理变长文本段 151
8.9 删除文件的最后一行 152
8.10 处理二进制文件 153
8.11 更新随机存取文件 154
8.12 读定长记录 155
8.13 读取和创建配置文件 156
第9章 目录 159
9.2 删除文件 160
9.1 获得和更改时间信息 160
9.3 复制和转移文件 161
9.4 辨认同一文件的两个文件名 162
9.5 加载一个目录中所有的文件到一个数组中 163
9.6 获得与一个样式匹配的文件名 164
9.7 处理一个目录中的所有文件 165
9.8 删除一个目录及其内容 166
9.10 程序:搜索引擎 169
9.9 划分一个文件 169
第10章 函数 177
10.1 向函数传递一个默认值 178
10.2 访问函数外的变量 180
10.3 从函数返回值 181
10.4 通过引用传递参数 182
10.5 在函数调用之间保留变量值 183
10.6 取出参数的个数 183
10.7 动态声明一个函数 184
10.8 动态创建一个匿名函数 185
10.9 间接调用一个函数 186
10.10 取出参数的个数 187
第11章 类 189
11.1 创建类 190
11.2 访问成员变量 191
11.3 继承 192
11.4 定义公有和私有变量及方法 194
11.5 创建构造器 195
11.6 从一个构造器返回不同的对象 196
11.7 创建一个解构器 197
11.8 使用类中的函数而不初始化对象 199
11.9 间接访问父类中的方法 199
11.10 失败时返回错误对象 201
第12章 使用PHP维护Session 205
12.1 用PHP创建一个sessionn变量 206
12.2 使用数据库保存session 207
12.3 设定Session名 211
12.4 设置和获得cookie参数 212
12.5 在session中注销变量 213
12.6 删除所有的session变量 214
12.7 使用对象作为session变量 215
12.8 编码数据 217
12.9 使用session和PHP创建一个shopping cart 218
12.10 串行化 226
12.11 WDDX串行化 228
12.12 WDDX串行化恢复 229
第13章 Web自动化 231
13.1 从PHP脚本中取URL 232
13.2 提取URL 233
13.3 将ASCII转成HTML 234
13.4 PHP中的JavaScript Rollovers 235
13.5 提取成删除HTML标记 236
13.6 查找过期的链接 237
13.7 查找新链接 239
13.8 用PHP创建HTML模板 241
13.9 用PHP创建〈SELECT〉清单 243
13.10 映出Web页 245
13.11 访问帧 246
13.12 程序:分析一个Web服务器的口志文件 247
第14章 使用PHP内置数组和常量 251
14.1 使用文件常量 252
14.2 PHP的Os常量和版本常量 254
14.3 使用PHP的Error常量设置断点 255
14.4 定义自己的PHP常量 256
14.5 使用PHP的全局变量 257
14.6 通过PHP的内置数组访问数据 258
第二部分 数据库 261
第15章 DBM 263
15.1 创建和打开一个DBM数据库 264
15.2 向DBM数据库插入数据 264
15.3 变更LBM数据库中的关键字的值 265
15.4 删除DBM数据库中的数据 266
15.5 遍历DBM数据库 267
第16章 用PHP建立独立数据库的API 269
16.1 Glue 271
16.2 MySQL模块 274
16.3 mSQL模块 277
16.4 Oracle模块 279
16.5 MSSQL模块 282
16.6 ODBC模块 284
16.7 PostgreSQL模块 287
16.8 InterBase模块 289
16.9 Sybase模块 291
第三部分 走出PHP 295
第17章 与其他程序语言接口 297
17.1 捕获其他程序的输出 298
17.2 输出程序的输出 299
17.3 对另一个程序打开一个管道 299
17.4 使用Socket 300
17.5 使用COM对象 301
17.6 访问预选定义的Java方法和类 304
17.7 访问自己定量的Java方法和类 304
第18章 电子邮件 311
18.1 打开一个IMAP邮箱 312
18.2 检测IMAP流是否处于活动状态 313
18.3 将消息转变成可读的格式 314
18.4 发送电子邮件 315
18.5 用PHP发送附件 316
18.6 发送二进制附件 317
18.7 发送HTML邮件 321
18.8 获得邮件的大小 323
18.9 分析电子邮件标题 324
第19章 LDAP和SNMP 325
19.1 对LDAP服务器增加登录 326
19.2 从LDAP服务器中删除一个登录 328
19.3 执行查询并在数组中得到结果 329
19.4 释放LDAP结果集 330
19.5 在LDAP服务器上完成树搜索 331
19.6 对LDAP搜索结果排序 332
19.7 取出所有的SNMP对象 334
19.8 设定SNMP对象 335
19.9 获得SNMP对象 336
第20章 通信 337
20.1 处理一个SSL事条 338
20.2 HTTP文件上传 340
20.3 从一个CURL转移排除/包括标题 342
20.4 调试CURL转移 343
20.5 完成HTTP POST操作 345
20.6 通过代理服务器连接 347
20.7 发送cookies 348
20.8 TCP客户 349
20.9 TCP服务器 350
20.10 读写socket 352
20.11 一个UDP客户 354
20.12 UDP服务器 355
20.13 UNIX域socket 357
20.14 处理各IP地址 359
20.15 非中断socket 360
20.16 读写向量 361
20.17 控制数据转移终止 362
20.18 获得socket状态 363
第四部分 生成其他语言 365
第21章 图形创建和管理 367
21.1 使用GD创建一个图像 368
21.2 打开一个已存在的图像 369
21.3 获得图像的大小 370
21.4 向图像中增加文本 371
21.5 得到图像某一部分的颜色 375
21.6 获得一幅图像的颜色数 377
21.7 使用GIF/PNG透明 377
21.8 复制局部图像 378
21.9 画矩形 379
21.10 绘制多边形 381
21.11 画一个局部椭圆 382
21.12 隔行扫描图像 384
21.13 动态按钮 384
21.14 使用TrueType字体 387
第22章 XML 389
22.1 错误处理 391
22.2 分析简单的XML文档 393
22.3 分析XML文档并将其保存到数组中 395
22.4 映射XML标记 397
22.5 设置外部引用实体处理程序 399
22.6 搜索XML 404
22.7 节省内存 406
22.8 设置或获取选项 407
22.9 使用DOM_XML函数分析 408
22.10 创建一个XML文档 411
22.11 使用XSL模板变换XML 414
22.12 通过一个XSL文件过渡全部输出 415
第五部分 数据库 417
第23章 Zend API 419
23.1 获取参数 420
23.2 更改函数参数 423
23.3 从一个函数返回字符串或数字 425
23.4 从函数中返回数组和对象 426
23.5 向PHP添加函数 428
23.6 创建资源标识 429
23.7 存取资源标识 430
23.8 遍历数组 431
23.9 创建一个PHP模块 434
23.10 在PHP安装中增加文件 453
第六部分 附录 455
附录A 安装PHP 457
附录B PHP故障排除 463
B.1 一般性错误及其意义 463
B.2 排除错误的技术 464
附录C PHP在线资源 467
C.1 PHP的官方站点 467
C.2 Zend Web站点 467
C.6 Weberdev 468
C.7 Devsled 468
C.4 PHPWizard.net 468
C.5 PHP类库 468
C.3 PHPBuilder 468
附录D 移植到PHP 4 471
D.1 静态变量和默认的参数初始化仅接收无向量值 471
D.2 break和continue的范围对于一个包含的文件,或者一个eval’s字符串来说是局部的 472
D.3 在一个请求的文件中return语句不起作用 473
D.4 Unset现在是一个语句,而不是一个函数 473
D.5 字符串中不支持“{$” 474