第1章 PHP概述 1
1.1 深入分析 1
1.1.1 编程基础 2
1.1.2 PHP的优点 4
1.1.3 PHP4 5
1.1.4 PHP与Apache 7
1.1.5 PHP语法概述 9
1.2 快速解决方案 12
1.2.1 Apache配置 12
1.2.2 特殊的Apache函数 12
1.2.3 PHP配置 14
1.2.4 诊断 15
1.2.5 错误 16
1.2.6 记录 17
1.2.7 输出控制 17
1.2.8 安全性 18
1.2.9 正则表达式 18
第2章 数据 20
2.1 深入分析 20
2.1.1 数据类型 20
2.1.2 数据处理 22
2.1.3 日期与时间 37
2.1.4 算术 40
2.2 快速解决方案 42
2.2.1 数据创建 42
2.2.2 数据测试 42
2.2.3 数据转换 46
2.2.4 字符串函数 48
2.2.5 rand()、srand()和microtime() 51
2.2.6 日期或时间计算 53
2.2.7 复活节 54
第3章 数组 55
3.1 深入分析 55
3.1.1 简单数组 55
3.1.2 潜在问题 58
3.1.3 多维数组 58
3.1.4 数组指针 59
3.1.5 数组排序 60
3.1.6 入栈、出栈、填充与合并 62
3.2 快速解决方案 63
3.2.1 使用array()从列表创建数组 63
3.2.2 使用explode()从字符串创建数组 64
3.2.3 使用implode()从数组创建字符串 64
3.2.4 使用range()指定元素的范围 69
3.2.5 使用range()和array flip()指定键的范围 69
3.2.6 使用array_flip删除重复的数组值 70
3.2.7 使用shuffle()随机排列数组 70
3.2.8 使用array_rand()随机排列横幅 72
3.2.9 使用file()将文件读入数组 73
3.2.10 使用sort()将数组按值排序 74
3.2.11 使用asort()将关联数组按值排序 75
3.2.12 使用rsort()将数组按值反序排序 75
3.2.13 使用arsort()将关联数组按值反序排序 76
3.2.14 使用ksort()将关联数组按键排序 77
3.2.15 使用nasort()将数组按值自然排序 77
3.2.16 使用usort()将数组非自然排序 80
3.2.17 向后循环遍历数组 83
3.2.18 循环遍历多维数组 85
第4章 信用卡 87
4.1 深入分析 87
4.1.1 商业账户 88
4.1.2 安全 89
4.1.3 服务器 89
4.1.4 哈希法 89
4.1.5 加密 91
4.1.6 付款软件 98
4.2 快速解决方案 103
4.2.1 哈希数据 103
第5章 数据库:MySQL与PostgreSQL 108
5.1 深入分析 108
5.1.1 历史 108
5.1.2 一些区别 109
5.1.3 数据类型 112
5.1.4 平台无关性 118
5.1.5 原始数据转入数据库 118
5.1.6 数组与数据库 118
5.1.7 索引或不索引 118
5.1.8 关系 119
5.1.9 ODBC 119
5.2 快速解决方案 119
5.2.1 连接数据库 119
5.2.2 数据库列表 121
5.2.3 显示数据库表 123
5.2.4 显示表字段 125
5.2.5 显示表数据 129
5.2.6 插入数据行 134
5.2.7 创建数据库 136
5.2.8 创建表 137
5.2.9 会话中使用数据库 137
5.2.10 清理代码 145
第6章 与众不同的商用数据库 149
6.1 深入分析 149
6.1.1 SQL 149
6.1.2 索引或不用索引 149
6.1.3 关系 150
6.1.4 持久连接 150
6.1.5 ODBC 151
6.1.6 DB2 152
6.1.7 SAP DB 153
6.1.8 其他数据库 153
6.1.9 数据库抽象层 160
6.2 快速解决方案 164
6.2.1 用ODBC访问数据库 164
6.2.2 用DBA函数访问数据库 175
6.2.3 用DBM函数访问数据库 175
6.2.4 用DBX函数访问数据库 176
6.2.5 访问Ingres II 176
6.2.6 定时检索:通往高性能之路 178
第7章 环境因素 182
7.1 深入分析 182
7.1.1 Apache 182
7.1.2 PHP的配置 184
7.1.3 安全 185
7.1.4 批处理模式下的PHP 186
7.1.5 为PHP制定进度 187
7.1.6 COM 187
7.1.7 文件和目录名称 188
7.1.8 POSIX 189
7.1.9 为程序间交互提供帮助 190
7.1.10 外部程序 191
7.1.11 附加信息 192
7.1.12 mnoGoSearch函数 192
7.2 快速解决方案 193
7.2.1 清除旧文件 193
7.2.2 执行外部程序 197
7.2.3 使用COM将Word文档转换成RTF格式 199
7.2.4 HTTP身份验证示例 202
7.2.5 更改代码和环境相匹配 204
7.2.6 测试内存 209
7.2.7 不规则的格式化输出 210
7.2.8 确保图像安全 210
第8章 文件 212
8.1 深入分析 212
8.1.1 目录 212
8.1.2 文件类型 213
8.1.3 上传文件 214
8.1.4 文件列表缓存 214
8.1.5 权限 214
8.2 快速解决方案 215
8.2.1 列目录 215
8.2.2 创建和删除目录 221
8.2.3 列出文件及属性 222
8.2.4 报告磁盘空间 225
8.2.5 列出图像文件属性 233
8.2.6 显示任何数据 236
8.2.7 创建空文件 240
8.2.8 上传文件 241
8.2.9 计算文件的CRC 244
第9章 表单 246
9.1 深入分析 246
9.1.1 可选的导航 246
9.1.2 用HTML还是只用PHP 247
9.1.3 最少的HTML 248
9.1.4 特殊功能 249
9.1.5 多个动作 253
9.1.6 JavaScript 254
9.1.7 长表单 254
9.1.8 上传文件 259
9.2 快速解决方案 260
9.2.1 创建表单 260
9.2.2 用函数创建表单 261
9.2.3 在表单中创建长列表 262
9.2.4 对齐列 264
9.2.5 多选一 267
9.2.6 使用单选按钮多选一 270
9.2.7 多选多 271
9.2.8 保留答案并强调错误 276
第10章 函数 278
10.1 深入分析 278
10.1.1 世界上最短的函数 278
10.1.2 返回值 279
10.1.3 提供值 281
10.1.4 可选值 282
10.1.5 可变数目的输入字段 283
10.1.6 作用域 285
10.1.7 静态变量 288
10.1.8 递归 289
10.1.9 变量中命名的函数 289
10.1.10 顺序 290
10.2 快速解决方案 291
10.2.1 创建函数 291
10.2.2 声明全局变量 292
10.2.3 声明静态变量 293
10.2.4 在变量中存储函数 294
10.2.5 使用默认函数参数 295
10.2.6 检查函数的存在性 296
10.2.7 使用call_user_func() 297
10.2.8 使用create_function() 298
10.2.9 使用func_get_arg()和func_num_args() 299
10.2.10 使用func_get_args() 300
10.2.11 注册终止函数 300
第11章 图像 301
11.1 深入分析 301
11.1.1 GIF 301
11.1.2 PNG 301
11.1.3 JPEG 302
11.1.4 PDF 302
11.1.5 Flash和Shockwave 310
11.1.6 图像数据库 317
11.1.7 安装图像模块 318
11.1.8 显示图像 318
11.1.9 创建图像 319
11.1.10 改变图像 323
11.1.11 外部程序 324
11.1.12 选择正确的格式 325
11.2 快速解决方案 325
11.2.1 列出图像+ 325
11.2.2 用ClibPDF在PDF文档中创建文本 331
11.2.3 用PDFlib在PDF文档中创建文本 333
11.2.4 在GIF、JPEG或PNG图像中创建文本 334
11.2.5 在GIF、JPEG或PNG图像中创建图形 336
第12章 国际应用 338
12.1 深入分析 338
12.1.1 检测语言和国家 339
12.1.2 语言需求 341
12.1.3 特定应用与特定地区 342
12.1.4 GNU重新编码 342
12.1.5 GNU gettext 343
12.1.6 拼写 343
12.1.7 多字节字符 348
12.2 快速解决方案 349
12.2.1 建立国家信息 349
12.2.2 存储国家信息 351
12.2.3 检索国家信息 354
12.2.4 为国家信息使用会话 357
12.2.5 使用GNU Gettext找出其他语言中的消息 358
12.2.6 使用SQL找出其他语言中的文本 359
12.2.7 检查字符类型 362
12.2.8 使用levenshtein()比较短语和地名 365
第13章 Internet 367
13.1 深入分析 367
13.1.1 URL 367
13.1.2 浏览其他服务器 371
13.1.3 套接字函数 371
13.1.4 SNMP 374
13.1.5 Curl 376
13.1.6 FTP 377
13.2 快速解决方案 377
13.2.1 Base64编码 377
13.2.2 使用PHP浏览网络 379
13.2.3 验证链接 381
13.2.4 使用FTP函数 383
13.2.5 使用Curl 390
第14章 LDAP 396
14.1 深入分析 396
14.1.1 安装 397
14.1.2 术语 397
14.1.3 服务器功能 400
14.1.4 LDAP函数 401
14.2 快速解决方案 404
14.2.1 在Windows NT中安装LDAP 404
14.2.2 连接到LDAP 407
14.2.3 添加国家代码 410
14.2.4 添加用户 414
14.2.5 处理错误 415
14.2.6 列出所有项 417
第15章 邮件 425
15.1 深入分析 425
15.1.1 IMAP 425
15.1.2 邮件头 436
15.1.3 MIME 437
15.1.4 操作模式 438
15.2 快速解决方案 440
15.2.1 安装PHP邮件函数 440
15.2.2 发送邮件 441
15.2.3 发送有附件的邮件 447
15.2.4 确认邮件地址 452
第16章 网络 456
16.1 深入分析 456
16.1.1 调试器 456
16.1.2 DNS和MX记录 456
16.1.3 主机名 457
16.1.4 IP地址 457
16.1.5 协议名称和编号 459
16.1.6 套接字 460
16.1.7 系统日志 461
16.1.8 NFS 463
16.1.9 NIS 463
16.1.10 WDDX 465
16.1.11 CORBA 466
16.1.12 压缩 468
16.2 快速解决方案 471
16.2.1 检查DNS记录 471
16.2.2 获得MX记录 473
16.2.3 获得主机名 473
16.2.4 列出协议编号 476
16.2.5 使用WDDX序列化数据 478
16.2.6 使用zlib压缩数据 481
16.2.7 写私有日志 483
第17章 对象 485
17.1 深入分析 485
17.1.1 类 485
17.1.2 属性 488
17.1.3 方法 490
17.1.4 扩展类 492
17.1.5 软件分发和文档 496
17.2 快速解决方案 498
17.2.1 在会话中存储对象并使用——sleep() 498
17.2.2 使用对象函数 502
17.2.3 用对象定制网页 506
17.2.4 读取新闻 510
第18章 搜索 517
18.1 深入分析 517
18.1.1 搜索搜索引擎 517
18.1.2 Z39.50 518
18.1.3 YAZ 518
18.1.4 使用YAZ搜索 520
18.1.5 基于数据库的搜索 525
18.2 快速解决方案 528
18.2.1 在服务器上搜索 528
18.2.2 搜索多个服务器 534
18.2.3 搜索google.com 539
18.2.4 索引数据 543
第19章 会话 547
19.1 深入分析 547
19.1.1 对所有者的好处 548
19.1.2 对访问者的好处 548
19.1.3 会话标识符 548
19.1.4 Cookie 548
19.1.5 文件与数据库 549
19.1.6 PHP工具 550
19.1.7 客户服务 559
19.2 快速解决方案 559
19.2.1 使用Cookie和文件开始会话 559
19.2.2 使用MySQL开始会话 563
19.2.3 显示当前用户 572
19.2.4 使用session_end() 573
第20章 XML 577
20.1 深入分析 577
20.1.1 什么是XML 577
20.1.2 数据 578
20.1.3 结构 581
20.1.4 XML函数 584
20.1.5 XSLT 591
20.1.6 WDDX 595
20.1.7 DOM 595
20.2 快速解决方案 601
20.2.1 显示XML文件 601
20.2.2 显示XML数据 602
20.2.3 解析XML数据 604
20.2.4 匹配XML的开始和结束标记 609