第1章 PHP概述 1
1.1 PHP简介 1
1.1.1 什么是PHP 1
1.1.2 PHP能做什么 1
1.1.3 PHP的历史 2
1.2 使用PHP的理由 3
1.2.1 PHP的跨平台性 3
1.2.2 PHP简单易用 3
1.2.3 PHP的功能强大 4
1.2.4 PHP是自由软件 4
第2章PHP的安装与配置 5
2.1 在Windows下安装PHP 5
2.1.1 使用专门的程序安装 5
2.1.2 在 Windows下手动安装 6
2.1.3 安装扩展库 7
2.1.4 在Windows下针对不同的服务器作修改 8
2.2 在Linux下安装 9
2.3 PHP的配置 11
2.3.1 常规配置指导 11
2.3.2 邮件配置指导 15
2.3.3 安全模式配置指导 16
2.3.4 调试配置指导 16
2.3.5 扩展装载指导 16
2.3.6 My SQL配置指导 17
2.3.7 mSQL配置指导 17
2.3.8 Postgres 配置指导 17
2.3.9 SESAM配置指导 18
2.3.10 Sybase配置指导 18
2.3.11 Sybase-CT配置指导 18
2.3.12 Informix配置指导 19
2.3.13 BC Math配置指导 20
2.3.14 浏览器配置指导 20
2.3.15 ODBC 配置指导 21
3.1 基本语法 23
3.1.1 从HTML中脱离 23
第3章PHP语法 23
3.1.2 语句的脱离方法 24
3.1.3 程序注解 24
3.1.4 hello,world! 25
3.2 数据结构 25
3.2.1 整数类型 26
3.2.2 浮点数类型(double) 26
3.2.3 字串变量(string) 27
3.2.4 数组变量(array) 30
3.2.5 对象变量(object) 32
3.2.6 变量类型变化(Type Juggling) 33
3.3变量 34
3.3.1 基本变量 34
3.3.3 变量的活动范围 36
3.3.2 预定义变量 36
3.3.4 变化变量 38
3.3.5 外界PHP变量 39
3.4 常数 41
3.5 表达式 42
3.6 运算符 44
3.6.1 运算符号 44
3.6.2 算术运算符 45
3.6.3 赋值运算 46
3.6.4 位运算 47
3.6.5 逻辑运算 47
3.6.6 错误控制符 48
3.6.7 执行算符 48
3.6.8 递增/递减算符 49
3.6.9 算符优先 49
3.6.11 其他运算符号 50
3.7 控制语句 50
3.6.10 字串运算 50
3.7.1 if…else语句 51
3.7.2 do…while语句 53
3.7.3 for语句 54
3.7.4 foreach语句 54
3.7.5 switch语句 56
3.7.6 其他流程控制语句 57
3.7.7 程序外调用语句 58
3.8 函数的生成 63
3.8.1 函数的定义 63
3.8.2 参数传递 63
3.8.3 返回值 65
3.8.4 OLD_FUNCTION语句 66
3.8.5 变量函数 66
3.9 类和对象 67
3.9.1 类 67
3.9.2 在构造函数里面引用 72
第四章 函数与函数库 75
4.1 数组处理函数库 76
4.1.1 函数array() 77
4.1.2 函数array_push() 77
4.1.3 函数array_pop() 78
4.1.4 函数array_unshift() 78
4.1.5 函数array_shift() 78
4.1.7 函数array_splice() 79
4.1.6 函数array_shice() 79
4.1.8 函数array_merge() 80
4.1.9 函数array_keys() 81
4.1.10 函数array_values() 81
4.1.11 函数array_walk() 81
4.1.12 函数arsort() 82
4.1.13 函数asort() 83
4.1.14 函数compact() 83
4.1.16 函数current() 84
4.1.15 函数count() 84
4.1.17 函数each() 85
4.1.18 函数end() 86
4.1.19 函数extract() 86
4.1.20 函数in_array() 87
4.1.21 函数key() 87
4.1.22 函数ksort() 87
4.1.23 函数list() 88
4.1.24 函数next() 89
4.1.25 函数pos() 89
4.1.26 函数prev() 89
4.1.27 函数range() 90
4.1.28 函数reset() 90
4.1.29 函数rsort() 91
4.1.30 函数shuffle() 91
4.1.31 函数sizeof() 92
4.1.33 函数uasort() 93
4.1.32 函数sort() 93
4.1.34 函数uksort() 94
4.1.35 函数usort() 94
4.2 日期与时间函数库 95
4.2.1 函数checkdate() 96
4.2.2 函数date() 96
4.2.3 函数strftime() 97
4.2.4 函数gmstrftime() 98
4.2.5 函数getdate() 99
4.2.6 函数gettimeofday() 99
4.2.7 函数gmdate() 100
4.2.8 函数easter_date() 100
4.2.9 函数easter_days() 101
4.2.10 函数mktime() 101
4.3 目录管理函数库 102
4.2.13 函数microtime() 102
4.2.12 函数time() 102
4.2.11 函数gmmktime() 102
4.3.1 函数chdir() 103
4.3.2 函数dir() 103
4.3.3 函数closedir() 104
4.3.4 函数opendir() 104
4.3.5 函数readdir() 104
4.3.6 函数rewinddir() 105
4.4 程序执行功能函数库 105
4.4.1 函数escapeshellcmd() 105
4.4.2 函数exec() 105
4.4.3 函数system() 106
4.4.4 函数passthru() 106
4.5.2 函数filepro_fieldname() 107
4.5.3 函数filepro_fieldtype() 107
4.5 filePro数据库函数库 107
4.5.1 函数filepro() 107
4.5.4 函数filepro_fieldwidth() 108
4.5.5 函数filepro_retrieve() 108
4.5.6 函数filepro_fieldcount() 108
4.5.7 函数filepro_rowcount() 108
4.6 文件系统函数库 109
4.6.1 basename() 110
4.6.4 函数chown() 111
4.6.2 函数chgrp() 111
4.6.3 函数chmod() 111
4.6.5 clearstatcache() 112
4.6.6 函数copy() 112
4.6.7 函数delete() 113
4.6.8 函数dirname() 113
4.6.9 函数diskfreespace() 113
4.6.13 函数fgetcsv() 114
4.6.12 函数fgetc() 114
4.6.10 函数fclose() 114
4.6.11 函数feof() 114
4.6.14 函数fgets() 115
4.6.15 函数fgetss() 116
4.6.16 函数file() 116
4.6.17 函数file_exists() 116
4.6.18 函数fileatime() 116
4.6.19 函数filectime() 117
4.6.20 函数filegroup() 117
4.6.21 函数fileinode() 117
4.6.22 函数filemtime() 117
4.6.23 函数fileowner() 118
4.6.24 函数fileperms() 118
4.6.25 函数filesize() 118
4.6.27 函数flock() 119
4.6.28 函数fopen() 119
4.6.26 函数filetype() 119
4.6.29 函数fpassthru() 120
4.6.30 函数fputs() 120
4.6.31 函数fread() 121
4.6.32 函数fseek() 121
4.6.33 函数ftell() 121
4.6.35 函数set_file_buffer() 122
4.6.36 函数is_dir() 122
4.6.34 函数fwrite() 122
4.6.37 函数is_executable() 123
4.6.38 函数is_file() 123
4.6.39 函数is_link() 123
4.6.40 函数is_readable() 123
4.6.41 函数is_writeable() 124
4.6.42 函数link() 124
4.6.43 函数linkinfo() 124
4.6.46 函数popen() 125
4.6.45 函数pclose() 125
4.6.44 函数mkdir() 125
4.6.47 函数readfile() 126
4.6.48 函数readlink() 126
4.6.49 函数rename() 126
4.6.50 函数rewind() 127
4.6.51 函数rmdir() 127
4.6.52 函数stat() 127
4.6.53 函数lstat() 128
4.6.54 函数symlink() 128
4.6.55 函数tempnam() 129
4.6.56 函数touch() 129
4.6.57 函数umask() 129
4.6.58 函数unlink() 130
4.7 HTTP相关函数库 130
4.7.1 函数header() 130
4.7.2 setcookie() 131
4.8 PHP选项及相关数据函数库 132
4.8.1 函数error_log() 133
4.8.2 函数error_reporting() 133
4.8.3 函数getenv() 134
4.8.4 函数get_cfg_var() 134
4.8.5 函数get_current_user() 135
4.8.6 函数 get_magic_quotes_gpc() 135
4.8.7 函数 get_magic_quotes_runtime() 135
4.8.8 函数getlastmod() 135
4.8.9 函数getmyinode() 136
4.8.10 函数getmypid() 136
4.8.11 函数getmyuid() 136
4.8.12 函数getrusage() 137
4.8.13 函数phpinfo() 137
4.8.14 函数phpversion() 137
4.8.17 函数set_time_limit() 138
4.8.16 函数set_magic_quotes_runtime() 138
4.8.15 函数putenv() 138
4.9 电子邮件函数库 139
4.10 数学运算函数库 139
4.10.1 函数Abs() 140
4.10.2 函数Acos() 141
4.10.3 函数Asin() 141
4.10.4 函数Atan() 141
4.10.5 函数Atan2() 141
4.10.6 函数base_convert() 142
4.10.7 函数BinDec() 142
4.10.8 函数Ceil() 142
4.10.9 函数Cos() 143
4.10.10 函数DecBin() 143
4.10.11 函数DecHex() 143
4.10.14 函数Floor() 144
4.10.13 函数Exp() 144
4.10.12 函数DecOct() 144
4.10.15 函数getrandmax() 145
4.10.16 函数HexDec() 145
4.10.17 函数Log() 145
4.10.18 函数Log10() 145
4.10.19 函数max() 146
4.10.20 函数min() 146
4.10.21 函数mt_rand() 146
4.10.22 函数mt_srand() 147
4.10.23 函数mt_getrandmax() 147
4.10.24 函数number_format() 148
4.10.25 函数OctDec() 148
4.10.26 函数pi() 149
4.10.27 函数pow() 149
4.10.28 函数rand() 149
4.10.31 函数Sqrt() 150
4.10.29 函数round() 150
4.10.30 函数Sin() 150
4.10.32 函数srand() 151
4.10.33 函数Tan() 151
4.11 杂项函数库 151
4.11.1 函数connection_aborted() 152
4.11.2 函数connection_status() 152
4.11.3 函数connection_timeout() 152
4.11.4 函数cval() 153
4.11.5 函数extract() 153
4.11.6 函数die() 154
4.11.7 函数exit() 154
4.11.8 函数function_exists() 155
4.11.9 函数ignore_user_abort() 155
4.11.10 函数iptcparse() 155
4.11.12 函数pack() 156
4.11.11 函数leak() 156
4.11.13 函数register_shutdown_function() 157
4.11.14 函数serialize() 157
4.11.15 函数sleep() 157
4.11.16 函数unpack() 158
4.11.17 函数unserialize() 158
4.11.19 函数usleep() 159
4.12 网络函数库 159
4.11.18 函数uniqid() 159
4.12.1 函数fsockopen() 160
4.12.2 函数pfsockopen() 160
4.12.3 函数set_socket_blocking() 161
4.12.4 函数gethostbyaddr() 161
4.12.5 函数gethostbyname() 161
4.12.6 函数gethostbynamel() 162
4.12.7 函数checkdnsrr() 162
4.12.9 函数openlog() 163
4.12.8 函数getmxrr() 163
4.12.11 函数closelog() 164
4.12.12 函数debugger_on() 164
4.12.10 函数syslog() 164
4.12.13 函数debugger_off() 165
4.13 URL处理函数库 165
4.13.1 函数parse_url() 165
4.13.2 函数urldecode() 165
4.13.3 函数urlencode() 166
4.13.4 函数base64_encode() 166
4.13.5 函数base64_decode() 166
4.14 字符串处理函数库 167
4.14.1 函数AddSlashes() 168
4.14.2 函数bin2hex() 168
4.14.3 函数Chop() 169
4.14.4 函数Chr() 169
4.14.6 函数convert_cyr_string() 170
4.14.5 函数chunk_split() 170
4.14.7 函数crvpt() 171
4.14.8 函数echo() 171
4.14.9 函数explode() 171
4.14.10 函数flush() 172
4.14.11 函数get_meta_tags() 172
4.14.12 函数htmlspetcialchars() 173
4.14.13 函数htmlentiies() 173
4.14.14 函数implode() 174
4.14.15 函数join() 174
4.14.16 函数ltrim() 174
4.14.17 函数md5() 175
4.14.18 函数nl2br() 175
4.14.19 函数Ord() 175
4.14.22 函数printf() 176
4.14.21 函数print() 176
4.14.20 函数parse_str() 176
4.14.23 函数quoted_printable_decode() 177
4.14.24 函数QuoteMeta() 177
4.14.25 函数rawurldecode() 177
4.14.26 函数rawurlencode() 177
4.14.27 函数setlocale() 178
4.14.28 函数similar_text() 179
4.14.29 函数soundex() 179
4.14.30 函数sprintf() 180
4.14.31 函数strchr() 180
4.14.32 函数strcmp() 181
4.14.33 函数strcspn() 181
4.14.34 函数strip_tags() 181
4.14.35 函数StripSlashes() 181
4.14.37 函数strrpos() 182
4.14.38 函数strpos() 182
4.14.36 函数strlen() 182
4.14.39 函数strrchr() 183
4.14.40 函数strrev() 183
4.14.41 函数strspn() 183
4.14.42 函数strstr() 184
4.14.43 函数strtok() 184
4.14.44 函数strtolower() 184
4.14.47 函数strtr() 185
4.14.46 函数str_replace() 185
4.14.45 函数strtoupper() 185
4.14.48 函数substr() 186
4.14.49 函数trim() 186
4.14.50 函数ucfirst() 186
4.14.51 函数ucwords() 187
4.15 变量处理函数库 187
4.15.1 函数gettype() 187
4.15.4 函数empty() 188
4.15.2 函数intval() 188
4.15.3 函数doubleval() 188
4.15.5 函数is_array() 189
4.15.6 函数is_double() 189
4.15.7 函数is_float() 189
4.15.8 函数is_int() 189
4.15.9 函数is_integer() 190
4.15.10 函数is_long() 190
4.15.11 函数is_object() 190
4.15.12 函数is_real() 191
4.15.13 函数is_string() 191
4.15.14 函数isset() 191
4.15.15 函数settype() 192
4.15.16 函数strval() 192
4.15.17 函数unset() 192
4.16 压缩文件函数库 192
4.16.3 函数 gzfile() 193
4.16.1 函数gzclose() 193
4.16.2 函数gzeof() 193
4.16.4 函数gzgetc() 194
4.16.5 函数gzgets() 194
4.16.6 函数gzgetss() 194
4.16.7 函数gzopen() 195
4.16.8 函数gzpassthru() 195
4.16.9 函数gzputs() 195
4.16.10 函数gzread() 196
4.16.11 函数gzrewind() 196
4.16.12 函数gzseek() 196
4.16.13 函数gztell() 197
4.16.14 函数readgzfile() 197
4.16.15 函数 gzwrite() 197
4.17.3 函数session_name() 198
4.17.2 函数session_destroy() 198
4.17.1 函数session_start() 198
4.17 Session 函数库 198
4.17.4 函数session_module_name() 199
4.17.5 函数session_save_path() 199
4.17.6 函数session_id() 199
4.17.7 函数session_register() 200
4.17.8 函数session_unregister() 200
4.17.9 函数session_is_registered() 200
4.17.10 函数session_decode() 200
4.17.11 函数session_encode() 201
4.18 GNU记录函数库 201
4.18.1 函数recode_string() 201
4.18.2 函数recode_file() 201
4.19.1 函数ftp_connect() 202
4.19 FTP文件传输函数库 202
4.19.2 函数ftp_login() 203
4.19.3 函数ftp_pwd() 203
4.19.4 函数ftp_cdup() 203
4.19.5 函数ftp_chdir() 203
4.19.6 函数ftp_mkdir() 204
4.19.7 函数ftp_rmdir() 204
4.19.8 函数ftp_nlist() 204
4.19.9 函数ftp_rawlist() 204
4.19.10 函数ftp_systype() 205
4.19.11 函数ftp_pasv() 205
4.19.12 函数ftp_get() 205
4.19.13 函数ftp_fget() 206
4.19.14 函数ftp_put() 206
4.19.15 函数ftp_fput() 206
4.19.18 函数ftp_rename() 207
4.19.19 函数ftp_delete() 207
4.19.17 函数ftp_mdtm() 207
4.19.16 函数ftp_size() 207
4.19.20 函数ftp_quit() 208
第5章 PHP简单应用 209
5.1 计数器功能 209
5.1.1 基于文件系统的最简单的计数器 209
5.1.2 基于数据库的简单计数器 211
5.1.3 增强版的计数器 212
5.1.4图形化 215
5.2 参数传递 216
5.2.1 通过URL传递参数 217
5.2.2 使用表单进行参数传递 218
5.3 用户登录的实现 220
5.3.1 使用Cookie实现的用户登录系统 221
5.3.2 使用Session的登录认证系统 226
5.4 发送HTTP头标信息 230
5.4.2 设定文件的过期时间 231
5.4.1 页面重定向 231
5.4.3 用户认证 232
5.4.4 设置页面的状态 233
5.4.5 设置输出文件的类别 234
5.5 在PHP中创建图形 235
5.5.1 简单图形的创建 236
5.5.2 投票程序 238
5.5.3 图形化的计数器 242
5.6.1 首页的处理 244
5.6 文件上载的实现 244
5.6.2 文件上载 246
5.6.3 查看用户目录中的文件 249
第6章 PHP综合应用——论坛 253
6.1 论坛任务分析 253
6.2 数据库的建立 253
6.3 论坛的代码 255
6.3.1 用户模块的代码 255
6.3.2 论坛的显示代码 265
6.3.3 发表文章和回复文章 283
6.3.4 附加的功能 296
第7章 用PHP构建一个电子商务网站 307
7.1 任务分析 307
7.1.1 用户登录 307
7.1.2 购物车 308
7.1.3 结算和完成购物 309
7.1.4 辅助功能 309
7.1.5 管理员的界面 309
7.2 数据库的建立 310
7.2.1 用户数据库 310
7.2.2 商品数据库 312
7.2.3 订单数据库 313
7.3 用户部分的具体程序 314
7.3.1 用户的显示 314
7.3.2 新用户注册的函数 315
7.3.3 用户登录与注销 320
7.3.4 用户修改个人数据 322
7.4 购物车的实现 324
7.4.1 购物车类定义 324
7.4.2 购物车的显示与更新 329
7.4.3 商品的显示 330
7.5 结算和完成购物 334
7.5.1 结算的程序 334
7.5.2 完成购物的程序 338
7.6 管理程序 340
7.6.1 用户管理 340
7.6.2 商品管理 348
7.6.3 订单管理 356
附录A HTML语言简述 363
A.1 什么是HTML语言 363
A.2 页面常用标记 364
A.3 与字体相关的标记 365
A.4 文字布局的标记 366
A.6 表单 367
A.5 图像 367
A.7 表格 373
A.8 关于风格单 375
附录B Win32下Apache服务器的安装与配置 377
C.1.1 MySQL的重要特征 381
C.1.2 MySQL的稳定性 381
C.1 MySQL概述 381
附录C MySQL简介 381
C.1.3 MySQL的相关资源 383
C.1.4 MySQL的版权问题 383
C.1.5 MySQL的安装 384
C.1.6 MySQL与各种标准的兼容 384
C.1.7 MySQL存取权限系统 384
C.2 MySQL语法 387
C.2.1 MySQL的字符串 387
C.3 MySQL实战 388
C.2.2 MySQL的数据库名、表名、索引名、列名 388
C.3.1 连接与断开服务 389
C.3.2 输入查询命令 390
C.3.3 几个常用的查询 392
C.3.4 创建一个数据库 394
C.3.5 创建数据库表 395
C.3.6 载入数据 397
C.3.7 检索信息 397
C.3.8 选择特定行 398
C.3.9 选择特定的列 400
C.3.10 行的排序 401
C.3.11 计算日期 403
C.3.12 模式匹配 405
C.3.13 行数的计算 406
C.3.14 数个数据库表的联合使用 408
C.3.15 关于数据库和表的信息 409