第1章 Linux概述 2
1.1什么是Linux 3
1.2Linux的应用领域 3
1.3Linux的安装 3
1.3.1硬件需求 3
1.3.2安装方式 4
1.3.3安装过程 4
1.4启动和退出Linux 11
1.4.1Linux的启动过程 11
1.4.2登录Linux 11
1.4.3退出Linux 12
1.5Linux文件系统入门 12
1.5.1Linux常用文件系统介绍 12
1.5.2Linux文件介绍 14
1.5.3Linux目录介绍 14
1.5.4Linux目录结构 16
1.6文件与目录基本操作 17
1.6.1显示文件内容 17
1.6.2文件内容查询 19
1.6.3文件查找 20
1.6.4文本处理 21
1.6.5文件内容统计 22
1.6.6文件比较 22
1.6.7文件的复制、移动和删除 24
1.6.8文件链接 25
1.6.9目录的创建与删除 26
1.6.10改变工作目录、显示路径及显示目录内容 26
第2章 Linux上LAMP配置必备知识 28
2.1设置用户界面 29
2.1.1KDE桌面系统组成 29
2.1.2GNOME桌面系统 30
2.1.3设置文件浏览界面 30
2.1.4控制中心 32
2.2安装软件 34
2.2.1基于源代码的软件安装 34
2.2.2基于可执行文件的软件安装 34
2.2.3RPM可执行文件的软件安装 34
2.3卸载软件 35
2.4Linux下的Vi文本编辑器 35
2.4.1Vi编辑器介绍 36
2.4.2启动Vi编辑器 37
2.4.3显示Vi中的行号 37
2.4.4光标移动操作 38
2.4.5屏幕命令 38
2.4.6文本插入命令 39
2.4.7附加(append)命令 40
2.4.8打开(open)命令 40
2.4.9文本修改命令 40
2.4.10退出Vi 43
第3章 Apache服务器 46
3.1Apache简介 47
3.1.1Apache的诞生 47
3.1.2Apache的特性 47
3.2Apache的获取和安装 48
3.2.1Apache获取及其最新信息 48
3.2.2用httpd-2.0.54.tar.gz软件包安装Apache 48
3.2.3用httpd-2.0.54.tar.bz2软件包安装Apache 50
3.2.4用RPM软件包安装Apache 51
3.3启动和停止Apache服务器 51
3.3.1手动启动和停止Apache服务器 51
3.3.2在/etc/rc.d目录下httpd文件中用脚本启动 52
3.3.3测试Apache 53
3.4配置Apache服务器 53
3.4.1httpd.conf文件中的全局配置选项 54
3.4.2.htaccess文件和访问限制 57
3.4.3httpd.conf文件中的CGI设置 59
3.4.4httpd.conf文件中的URL路径名设置 61
3.4.5httpd.conf文件中的MIME类型 63
3.5虚拟主机的设置 64
3.5.1一个IP地址对应一个CNAME(IP型虚拟主机) 64
3.5.2一个IP地址对应多个CNAME(名字型虚拟主机) 65
3.6日志记录 65
3.7SSI设置 66
3.7.1SSI简介 67
3.7.2启用SSI 67
3.7.3SSI指令 67
3.8一个完整的httpd.conf文件 71
3.8.1全局环境的设置 71
3.8.2动态共享对象支持DSO的设置 73
3.8.3主服务器设置 74
3.8.4设置日志管理 76
3.8.5设置虚拟目录 77
3.8.6设置MIME类型 78
3.8.7文档管理和语言管理 78
3.8.8设置虚拟主机 82
第4章 数据库基础及SQL语言入门 84
4.1数据库系统的基本概念 85
4.1.1数据 85
4.1.2数据库 85
4.1.3数据库管理系统(DBMS) 85
4.1.4数据库系统 85
4.2数据库的设计流程 86
4.2.1需求分析 86
4.2.2概念设计 87
4.2.3逻辑设计 87
4.2.4物理设计 87
4.3SQL概述 88
4.3.1SQL语言的特点 88
4.3.2基本概念和数据类型 89
4.3.3SQL语言的分类 90
4.4数据定义语言(DDL) 90
4.4.1新建、删除与修改表 90
4.4.2新建和取消视图 92
4.4.3新建和删除索引 92
4.5简单的SQL查询语言 93
4.5.1SELECT子句和FROM子句 94
4.5.2WHERE子句定义查询条件 95
4.5.3GROUP BY子句对查询结果分组 96
4.5.4ORDER BY子句对查询结果分组 97
4.6深入SQL查询语言 97
4.6.1集合查询 97
4.6.2连接查询 97
4.6.3嵌套查询 99
4.7SQL中的视图 101
4.7.1定义和删除视图 101
4.7.2查询视图 102
4.8数据操纵语言(DML) 102
4.8.1INSERT语句 102
4.8.2DELETE语句 104
4.8.3UPDATE语句 104
4.8.4视图的更新 105
4.9数据控制语言(DCL) 105
4.9.1数据库安全 106
4.9.2访问控制 106
4.9.3授权操作和收回权限操作 107
4.9.4事务控制和并发控制简介 108
第5章 MySQL操作入门 109
5.1MySQL数据库系统简介 110
5.2MySQL数据库系统的安装 110
5.2.1基于源代码包的MySQL安装 110
5.2.2基于RPM包的MySQL安装 112
5.2.3在Red Hat Linux 9添加/删除程序中安装MySQL 113
5.3启动MySQL数据库系统 114
5.3.1建立MySQL的用户组和用户名 114
5.3.2建立MySQL的软链接 114
5.3.3设置用户访问权限 115
5.3.4启动MySQL 115
5.4MySQL常用操作 116
5.4.1连接MySQL服务器 116
5.4.2退出MySQL服务器 116
5.4.3密码管理 116
5.4.4增加新用户 117
5.4.5命令分行 117
5.4.6命令历史记录 117
5.4.7显示数据库列表 117
5.4.8显示数据库中的数据表 118
5.4.9显示数据表的表结构 118
5.4.10新建数据库 118
5.4.11新建数据库表 118
5.4.12删除库和删除表 118
5.4.13将表中记录清空 119
5.4.14显示表的记录 119
5.4.15向表中插入记录 119
5.4.16MySQL数据导入和备份 119
5.5在程序中操作MySQL数据库 120
第6章 MySQL高级管理 121
6.1账户管理 122
6.1.1创建新账号 122
6.1.2控制权限传递 123
6.1.3取消权限和删除用户 124
6.1.4了解MySQL的用户管理表 124
6.2管理日志文件 125
6.2.1生成日志文件 125
6.2.2循环利用日志文件 125
6.3备份数据库 125
6.3.1使用mysqldump备份 126
6.3.2使用直接拷贝数据文件方式 127
6.3.3两种方式的比较 128
6.4恢复数据库 128
6.4.1恢复整个数据库 128
6.4.2恢复单个的表 129
6.5数据文件安全性 129
6.5.1保护哪些文件 129
6.5.2保护Linux文件 130
6.5.3保护Windows文件 131
6.6MySQL的外部安全性 132
6.6.1通过授权表确认访客 133
6.6.2检查访问用户合法性 133
6.6.3控制库级访问 135
6.6.4控制表级访问 136
6.6.5控制列级访问 137
6.6.6一个应用示例 137
第7章 Linux下PHP的安装与配置 140
7.1PHP简介 141
7.2PHP的优点 141
7.3利用添加/删除程序安装PHP软件包 142
7.4Apache2.2+MySQL5.0+PHP5.2+GD2.0+Firefox2.0的安装 143
7.4.1获取软件包 145
7.4.2安装环境的准备 145
7.4.3安装GD库 147
7.4.4安装MySQL 151
7.4.5安装Apache 153
7.4.6安装PHP 154
7.4.7安装Firefox 159
7.5配置PHP 160
7.5.1php.ini文件 160
7.5.2httpd.conf和.htaccess文件 160
7.5.3在执行脚本中设定PHP配置指令 161
7.6配置指令的作用域 161
7.7PHP配置指令 161
7.7.1语言选项(LanguageOptions) 161
7.7.2安全模式(SafeMode) 162
7.7.3资源限制(ResourceLimits) 163
7.7.4错误处理和日志(ErrorHandling andLogging) 164
7.7.5数据处理(DataHandling) 165
7.7.6路径和目录(Paths andDirectories) 166
7.7.7文件上传(FileUploads) 166
7.7.8Fopen包装器(FopenWrappers) 166
7.7.9动态扩展(DynamicExtensions) 167
7.7.10邮件功能(MailFunction) 167
第8章 初识PHP 168
8.1PHP标记 169
8.1.1默认标记 169
8.1.2短标记 169
8.1.3脚本标记 169
8.1.4ASP标记 169
8.2关键字 170
8.3PHP语句 171
8.4空白符的处理 171
8.5在HTML中嵌入多个代码块 171
8.6注释 172
8.6.1Shell风格 172
8.6.2C++风格 172
8.6.3C风格 173
8.7PHP的输出 173
8.7.1函数print():输出字符串或变量的值 173
8.7.2函数echo():输出字符串或变量的值 174
8.7.3函数printf():格式化输出 174
8.7.4函数sprintf():将输出指定到字符串变量 176
8.7.5函数print_r():输出数组 176
8.8第一个PHP例子 177
第9章 PHP中的数据类型 179
9.1数据类型介绍 180
9.2常用数据类型 180
9.2.1布尔型 180
9.2.2整型 181
9.2.3浮点型 182
9.2.4字符串型 182
9.2.5数组型 184
9.2.6对象型 185
9.2.7资源型 186
9.2.8NULL型 187
9.3数据类型的强度 187
9.4数据类型的自动转换 188
9.5数据类型的强制转换 188
9.6与数据类型有关的函数 188
9.6.1函数settype():设定数据类型 189
9.6.2函数gettype():返回指定变量的数据类型 189
第10章 PHP中的常量与变量 190
10.1常量 191
10.1.1定义和使用常量 191
10.1.2预定义常量 191
10.2变量 192
10.2.1定义和使用变量 192
10.2.2变量的赋值 193
10.2.3预定义变量 194
10.3访问预定义变量 194
10.3.1使用“$”符号直接访问预定义变量 195
10.3.2使用$HTTP*_VARS方式 195
10.3.3使用超全局变量数组 196
10.4变量作用域 200
10.4.1局部作用域 200
10.4.2全局作用域 201
10.4.3静态变量 202
10.4.4函数参数 203
10.4.5超全局作用域 204
10.5可变变量 204
10.6外部变量 205
10.7环境变量 206
第11章 PHP中的运算符与表达式 207
11.1PHP中的运算符 208
11.1.1算术运算符 208
11.1.2赋值运算符 210
11.1.3自加/自减运算符 211
11.1.4比较运算符 214
11.1.5逻辑运算符 216
11.1.6位运算符 217
11.1.7字符串运算符 220
11.1.8其他运算符 220
11.2运算符的优先级和结合性 224
11.3PHP中的表达式 226
第12章 PHP中的流程控制 227
12.1代码块 228
12.2条件结构 228
12.2.1if语句 228
12.2.2else语句 230
12.2.3elseif语句 230
12.2.4if的交互格式 231
12.2.5if语句的应用示例 232
12.3分支结构(switch) 232
12.4循环结构 235
12.4.1while循环 235
12.4.2do…while循环 236
12.4.3for循环 237
12.4.4foreach循环 239
12.5break语句 240
12.6continue语句 241
12.7exit语句 243
第13章 PHP中的函数 244
13.1函数的调用 245
13.2内置函数 247
13.2.1函数include():载入指定文件 247
13.2.2函数require():载入指定文件 249
13.2.3函数include_once()和函数require_once() 250
13.3用户自定义函数 250
13.3.1函数的基本结构 250
13.3.2参数的按值传递 251
13.3.3参数的按引用传递 252
13.3.4函数的默认参数值 253
13.3.5函数的可选参数 254
13.3.6函数参数的遗漏 254
13.3.7函数的返回值 255
13.4函数的嵌套 257
13.5递归函数 257
13.6变量函数 260
13.7函数库 261
第14章 PHP中的数组 263
14.1数组的定义 264
14.2数字索引数组 264
14.2.1数字索引数组的初始化 264
14.2.2访问数组元素 266
14.2.3利用循环访问数组元素 267
14.3关联数组 267
14.3.1关联数组的初始化 268
14.3.2访问数组元素 268
14.3.3使用循环访问数组 269
14.4与数组相关的运算 269
14.5多维数组 270
14.6数组的排序 273
14.6.1函数sort():按数字和字母的顺序排序 273
14.6.2函数asort():对关联数组排序(保留原来的索引关系) 275
14.6.3函数ksort():按索引值进行排序 275
14.6.4函数usort():按用户自定义方法排序 276
14.6.5函数array_multisort():一次对多个数组进行排序 277
14.6.6函数natsort():自然排序 278
14.6.7函数natcasesort():自然排序(不区分大小写) 278
14.7数组的反向排序 279
14.7.1函数rsort():以降序对数组元素进行排序 279
14.7.2函数arsort():按降序对关联数组排序(保留原来的索引关系) 280
14.7.3函数krsort():按索引值进行降序排序 280
14.7.4反向用户自定义排序 281
14.8对数组进行重新排序 282
14.8.1函数shuffle():对数组进行随机排列 282
14.8.2函数array_reverse():将数组中的元素逆置 283
14.8.3函数array_flip():将数组的索引与其元素值进行对换 284
14.9数组的遍历 285
14.9.1函数current():获取数组中当前指针所指的元素值 285
14.9.2函数next():将数组的指针向后移动一位 285
14.9.3函数prev():将数组的指针向前移动一位 286
14.9.4函数reset():指针设置回数组的起始位置 286
14.9.5函数end():将指针移动到数组的最后一个元素处 287
14.9.6函数each():获取数组中当前的“索引/元素值”对 288
14.9.7函数key():获取数组当前指针所指向元素的索引值 289
14.9.8函数array_walk():以相同的方式对数组中的每一个元素进行处理 290
14.9.9函数array_reduce():将自定义函数依次应用于数组中每个元素 291
14.10其他的数组操作函数 66292
14.10.1函数list():从一个数组中一次提取多个值 292
14.10.2函数count():计算数组中元素的个数 294
14.10.3函数array_count_values():统计数组元素的频度 295
14.10.4函数array_unique():删除数组中重复的元素值 296
14.10.5函数array_combine():根据参数数组生成新数组 296
14.10.6函数array_merge():将多个数组合并成一个新数组 297
14.10.7函数array_merge_recursive():将多个数组递归合并成一个新数组 298
14.10.8函数array_slice():获取数组中的部分元素 299
14.10.9函数array_splice():删除数组中指定的数组元素 300
14.10.10函数array_intersect():获取在多个数组中重复出现的元素值 301
14.10.11函数array_intersect_assoc():获取在多个数组中重复出现的元素(包括索引及元素值) 302
14.10.12函数array_diff():获取不在其他数组中重复出现的元素值 303
14.10.13函数array_diff_asso():获取不在其他数组中重复出现的元素(包括索引及元素值) 304
14.10.14函数array_sum():对数组中所有元素的值求和 305
14.10.15函数array_rand():随机返回数组的一个或多个索引 306
14.10.16函数array_chunk():将一维数组分解为多维数组 306
14.10.17函数array_push():将指定变量的值加入到数组的末尾 307
14.10.18函数array_pop():获取数组中最后一个元素值 308
14.10.19函数array_shift():获取数组中第一个元素的值 309
14.10.20函数array_unshift():将指定变量的值加入到数组的开头 309
14.10.21函数array_pad():以指定数值对数组进行填充 310
14.10.22函数in_array():查找数组中是否包含指定的元素 311
14.10.23函数array_keys():获取数组中所有的索引 312
14.10.24函数array_key_exist():检测数组中是否包含指定的索引 312
14.10.25函数array_values():获取数组中所有的元素值 313
14.10.26函数array_search():在数组中搜索指定的值 313
第15章 PHP中的字符串 315
15.1访问字符串中的字符 316
15.2字符串的格式化 316
15.2.1去除空格和其他符号 317
15.2.2对字符串大小写的转换 319
15.2.3加入和删除反斜杠 321
15.2.4HTML格式化 321
15.3字符串的连接和分割 325
15.3.1函数explode():分割字符串 325
15.3.2函数implode():连接多个字符串 326
15.3.3函数join():连接多个字符串 327
15.3.4函数substr():提取部分子字符串 327
15.3.5函数strtok():字符串分割提取 328
15.3.6函数split():分割字符串 329
15.4字符串的比较 329
15.4.1函数strcmp():对字符串进行比较 329
15.4.2函数strcasecmp():对字符串进行比较(不区分大小写) 330
15.4.3函数strnatcmp():按自然排序进行字符串比较 331
15.4.4函数strnatcasecmp():按自然排序进行比较(不区分大小写) 332
15.5字符串的查找和替换 332
15.5.1在字符串中查找子字符串 333
15.5.2查找子字符串的位置 335
15.5.3替换子字符串 338
15.6其他常用字符串函数 341
15.6.1函数strlen():计算字符串长度 341
15.6.2函数chr():转换ASC码为字符 342
15.6.3函数ord():将字符转换为ASCⅡ码值 343
15.6.4函数similar_text():比较字符串的相似性 343
15.6.5函数strrev():逆转字符串 344
15.6.6函数strspn():计算匹配长度 344
15.6.7函数strcspn():计算非匹配长度 345
15.6.8函数parse_str():将字符串分解保存至变量 346
15.6.9函数str_shuffle():将字符串中的字符随机排列 346
15.6.10函数str_word_count():计算字符串中包含的单词个数 347
15.6.11函数wordwrap():将字符串按字符个数进行换行 347
15.6.12函数str_repeat():对字符串进行重复组合 348
15.6.13函数md5():将一个字符串进行MD5计算 349
第16章 PHP中的正则表达式 350
16.1POSIX风格正则表达式 351
16.1.1字符集和类 352
16.1.2重复 353
16.1.3子表达式 354
16.1.4定位字符串的开始和末尾 354
16.1.5分支 356
16.1.6匹配特殊字符 356
16.2正则表达式函数(POSIX扩展) 356
16.2.1函数ereg():搜索和匹配指定的正则表达式 357
16.2.2函数eregi():搜索和匹配指定的正则表达式(忽略大小写) 359
16.2.3函数ereg_replace():查找并替换 360
16.2.4函数ereg_replace():查找并替换(不区分大小写) 361
16.2.5函数spliti():把一个字符串按指定的分符分解 361
16.2.6函数sql_regcase():将字符串转换为忽略大小写的正则表达式 362
16.3Perl风格正则表达式函数 363
16.3.1修饰符 363
16.3.2元字符 363
16.4正则表达式函数(Perl风格) 365
16.4.1函数preg_grep():按指定的正则表达式搜索和匹配 365
16.4.2函数preg_match():按指定的正则表达式搜索和匹配一次 366
16.4.3函数preg_match_all():按指定的正则表达式搜索和匹配所有 368
16.4.4函数preg_quote():对字符串中的正则表达式符号进行转义 369
16.4.5函数preg_replace():按指定的正则表达式搜索和替换 370
16.4.6函数preg_replace_callback():按指定的正则表达式搜索并由自定义函数实现替换 371
16.4.7函数preg_split():将字符串按指定的规则进行分割 372
第17章 PHP中的面向对象编程技术 374
17.1面向对象的概念 375
17.1.1面向过程的编程 375
17.1.2面向对象的编程 376
17.1.3类和对象 376
17.2对象的特性 377
17.2.1封装 377
17.2.2继承 377
17.2.3多态 378
17.3在PHP中创建和使用类 379
17.3.1类的结构 379
17.3.2类的实例化 380
17.3.3使用类的属性 380
17.3.4类的访问控制 384
17.3.5构造函数 387
17.3.6析构函数 388
17.3.7静态属性和方法 388
17.3.8类运算符instanceof 389
17.4PHP中的类继承 390
17.4.1继承已有的类 390
17.4.2类的重载 392
17.4.3访问父类中的属性和方法 393
17.4.4使用final关键字禁止继承和重载 394
17.5类函数 396
17.5.1函数class_exist():检查是否有指定的类 396
17.5.2函数get_class():获取对象所属的类名 396
17.5.3函数get_class_vars():获取类的属性 397
17.5.4函数get_clsas_methods():获取类的方法 397
17.5.5函数get_declared_classes():获取所有可用类的名称 398
17.5.6函数get_object_vars():获取对象的属性 399
17.5.7函数get_parent_class():获取指定对象的父类名称 399
17.5.8函数is_a():检查对象是否属于某个类或其子类 400
17.5.9函数is_subclass_of():检查对象是否是某个类的子类 401
17.5.10函数method_exists():检查对象中是否有指定的方法 402
17.6PHP面向对象的高级特性 402
17.6.1抽象类和抽象方法 402
17.6.2接口 405
17.6.3实现多个接口 406
17.6.4对象的复制 408
17.6.5自动加载类 411
17.6.6处理不存在的方法调用 413
17.6.7对象的序列化 414
17.6.8反射 415
第18章 PHP访问MySQL数据库 420
18.1数据库操作的基本步骤 421
18.2连接和关闭数据库 421
18.2.1函数mysql_connect():建立到MySQL服务器的连接 421
18.2.2函数mysql_pconnect():建立到MySQL服务器的持久连接 423
18.2.3函数mysql_close():关闭连接 424
18.2.4连接信息的存储 425
18.3选择数据库 426
18.4查询数据库 427
18.4.1函数mysql_query():执行一个SQL语句 427
18.4.2函数mysql_db_query():在指定数据库上执行SQL语句 428
18.5获取和显示数据 429
18.5.1函数mysql_fetch_row():从结果集中获取一行作为数字索引数组 429
18.5.2函数mysql_fetch_array():从结果集中获取一行作为关联数组、数字索引数组或双重索引数组 430
18.5.3函数mysql_fetch_assoc():从结果集中获取一行作为关联数组 432
18.5.4函数mysql_fetch_object():从结果集中获取一行作为对象 433
18.5.5函数mysql_result():获取指定记录中指定字段的内容 433
18.5.6函数mysql_num_rows():获取记录数 435
18.5.7函数mysql_field_seek():定位到要查询的行 435
18.5.8函数mysql_fetch_length():获取字段的长度 436
18.6数据的增、删、改及相关操作 437
18.6.1使用INSERT语句插入新数据 437
18.6.2使用DELETE语句删除数据 438
18.6.3使用UPDATE语句修改数据 439
18.6.4使用COUNT及SUM语句 440
18.6.5函数mysql_affected_rows():统计受影响的记录行数 440
18.7数据库的创建和删除 442
18.7.1使用CREATEDATABASE语句创建数据库 442
18.7.2使用DROP DATABASE语句删除数据库 443
18.7.3函数mysql_create_db():创建数据库 443
18.7.4函数mysql_drop_db():删除数据库 444
18.8获取数据库信息 444
18.8.1函数mysql_list_dbs():获取服务器上的所有数据库名称 444
18.8.2函数mysql_db_name():获取服务器上指定数据库名称 445
18.8.3函数mysql_list_tables():获取数据库中所有数据表名称 445
18.8.4函数mysql_tablename():获取数据库中指定数据表名称 446
18.9数据表的创建和删除 446
18.9.1使用CREATE TABLE语句创建数据表 447
18.9.2使用DROP TABLE语句删除数据表 447
18.10获取字段信息 448
18.10.1函数mysql_num_fields():获取数据表中字段的数目 448
18.10.2函数mysql_fetch_field():获取字段相关信息 449
18.10.3函数mysql_field_name():获取指定字段的名称 450
18.10.4函数mysql_list_fields():列出指定表的所有字段 451
18.10.5函数mysql_field_type():获取指定字段的类型 452
18.10.6函数mysql_field_len():获取指定字段的长度 453
18.10.7函数mysql_field_flags():获取指定字段的标志 453
18.10.8函数mysql_field_table():获取指定字段所在数据表的名称 454
18.11获取MySQL服务器信息 455
18.11.1获取服务器常规信息 455
18.11.2函数mysq_list_processes():获取服务器进程信息 456
18.12获取错误信息 457
18.12.1函数mysql_error():返回错误信息 457
18.12.2函数mysql_errno():返回错误号 458
第19章 LAMP项目开发策略 462
19.1LAMP系统逻辑结构 463
19.1.1实现代码分离 463
19.1.2开发流程 465
19.2LAMP项目开发规范 466
19.2.1命名规范 466
19.2.2括号使用规范 468
19.2.3注释规范 469
19.3LAMP项目开发实用工具 470
19.3.1使用Zend Studio编写与调试程序 470
19.3.2使用phpMyAdmin操作数据库 477
第20章 LAMP项目常用模块 484
20.1页面跳转 485
20.1.1header()函数 485
20.1.2Meta标签 486
20.1.3JavaScript 486
20.2Cookie与Session 486
20.2.1Cookie 487
20.2.2Session 488
20.3时间和日期 492
20.3.1时间和日期的获取 492
20.3.2格式化显示时间和日期 495
20.4图像处理 497
20.4.1画布管理 498
20.4.2获取图像大小 499
20.4.3绘制图像 500
20.4.4图形填充 503
20.4.5向图像中添加文字 506
20.5分页显示 508
20.6上传下载 510
20.6.1文件上传 510
20.6.2文件下载 511
20.7计数器 513
20.8发送邮件 514
第21章 新闻系统 516
21.1需求分析 517
21.2系统设计 517
21.2.1系统整体设计 517
21.2.2功能模块划分 517
21.2.3系统流程 518
21.2.4功能预览 519
21.2.5代码文件及其功能列表 522
21.3数据库设计 523
21.3.1数据库需求分析 523
21.3.2数据表关系 524
21.3.3生成数据库 525
21.4系统配置与数据库连接 525
21.4.1系统配置文件 525
21.4.2数据库连接文件 526
21.5系统顶部和底部文件 526
21.5.1系统顶部文件 526
21.5.2系统底部文件 528
21.6新闻显示模块 528
21.6.1系统首页 528
21.6.2栏目新闻列表 530
21.6.3显示新闻内容 533
21.7新闻管理模块 535
21.7.1管理员登录与退出 535
21.7.2管理员身份验证 537
21.7.3添加新闻栏目 537
21.7.4添加新闻内容 539
21.7.5编辑新闻栏目 541
21.7.6编辑新闻内容 543
21.8可视化编辑器FCKeditor 546
第22章 投票系统 548
22.1需求分析 549
22.2系统设计 549
22.2.1系统整体设计 549
22.2.2功能模块划分 549
22.2.3系统流程 550
22.2.4功能预览 550
22.2.5代码文件及其功能列表 555
22.3数据库设计 556
22.3.1数据库需求分析 556
22.3.2数据表关系 557
22.3.3生成数据库 557
22.4系统配置与数据库连接 558
22.4.1系统配置文件 558
22.4.2数据库连接文件 559
22.5系统顶部和底部文件 559
22.5.1系统顶部文件 559
22.5.2系统底部文件 560
22.6参与投票模块 560
22.6.1系统首页 560
22.6.2在线投票 561
22.7发起投票模块 566
22.7.1发起投票 566
22.7.2浏览投票主题 569
22.8投票管理模块 570
22.8.1管理员登录与退出 570
22.8.2管理员身份验证 571
22.8.3管理投票 572
22.8.4编辑投票 574
22.8.5删除投票 576
第23章 相册系统 577
23.1需求分析 578
23.2系统设计 578
23.2.1系统整体设计 578
23.2.2功能模块划分 578
23.2.3系统流程 579
23.2.4功能预览 580
23.2.5代码文件及其功能列表 582
23.3系统公共文件 582
23.3.1系统配置文件 582
23.3.2页面顶部文件 583
23.3.3页面底部文件 583
23.4系统登录与退出模块 583
23.4.1用户登录 583
23.4.2退出登录 584
23.5相册浏览模块 584
23.5.1用户身份验证 585
23.5.2传入目录处理 585
23.5.3显示当前目录导航 585
23.5.4显示当前目录全部子目录和图片 586
23.5.5显示上传相片和创建子目录链接 588
23.5.6创建缩略图函数 588
23.5.7获取文件扩展名函数 589
23.6创建相簿模块 590
23.6.1创建目录 590
23.6.2创建子目录表单 590
23.7上传相片模块 591
23.7.1处理本地提交相片 591
23.7.2处理URL提交相片 591
23.7.3显示上传本地相片表单 591
23.7.4显示上传URL相片表单 592
23.8删除模块 592
23.8.1删除目录函数 592
23.8.2删除操作处理 593
23.8.3删除确认表单 594
第24章 同学录系统 595
24.1需求分析 596
24.2系统设计 596
24.2.1系统整体设计 596
24.2.2功能模块划分 596
24.2.3系统流程 597
24.2.4功能预览 598
24.2.5代码文件及其功能列表 606
24.3数据库设计 607
24.3.1数据库需求分析 607
24.3.2数据表关系 610
24.3.3生成数据库 611
24.4系统公共文件 612
24.4.1系统配置文件 613
24.4.2数据库连接文件 613
24.4.3系统顶部文件 613
24.4.4系统底部文件 614
24.4.5系统左侧导航文件 614
24.5用户注册登录模块 615
24.5.1首页用户登录 616
24.5.2用户注册 617
24.5.3用户退出 621
24.6用户加入班级模块 621
24.6.1用户首页 622
24.6.2创建班级 624
24.6.3与该班断绝关系 625
24.7用户信息管理模块 626
24.7.1忘记密码 626
24.7.2修改资料 628
24.7.3修改密码 629
24.7.4我的名片 630
24.8用户消息管理模块 632
24.8.1消息发送 632
24.8.2发送消息表单 633
24.8.3查看发件箱 634
24.8.4查看消息并修改已读标记 634
24.8.5查看收件箱 635
24.8.6清空短消息 636
24.9班级首页模块 636
24.9.1显示班级信息 636
24.9.2显示班级读物 637
24.10班级消息功能模块 637
24.10.1查询班级成员 637
24.10.2发送消息 637
24.10.3显示班级成员列表 638
24.10.4发送消息窗口 638
24.11班级信函功能模块 639
24.11.1发邀请函表单 639
24.11.2调用邮件发送函数 640
24.12班级留言功能模块 640
24.12.1添加留言 640
24.12.2显示留言 641
24.12.3发表留言表单 642
24.13班级读物功能模块 643
24.13.1添加班级读物 643
24.13.2修改班级读物内容 643
24.13.3删除班级读物 644
24.13.4显示班级读物列表 644
24.13.5添加班级读物表单 644
24.13.6修改班级读物表单 645
24.13.7显示班级读物内容 646
24.14班级相簿功能模块 646
24.14.1添加相片 646
24.14.2班级相片列表 647
24.14.3查看班级相片 647
24.14.4添加班级相片表单 648
24.15班级名片功能模块 649
24.16班级成员功能模块 649
24.16.1显示班级成员列表 650
24.16.2查看班级成员详细信息 650
24.17班级管理模块 651
24.17.1查询班级成员 651
24.17.2更新班级公告 651
24.17.3设置管理员 652
24.17.4将班级成员踢出本班 652
24.17.5显示班级成员列表 652
24.17.6班级公告表单 653
24.17.7设置班级管理员表单 653