《零基础学PHP》是2008年3月1日机械工业出版出版的图书,作者是马忠超。
基本介绍
- 书名:零基础学PHP
- 作者:马忠超
- ISBN:9787111235620
- 页数:469页
- 出版社:机械工业出版社
- 出版时间:2008年3月1日
2008年机械工业出版社出版图书
内容简介
《零基础学PHP》主要内容:PHP是一种运行于伺服器端并完全跨平台的嵌入式脚本程式语言,是目前开发各类Web套用的主流语言之一。PHP因其功能强大、易学易用、可扩展性强、运行速度快和良好的开放性,而成为网站开发者的首选工具,其较高的开发效率,也给开发人员在编写Web应用程式时带来极大的便利。
目录
写给未来的程式设计师
前言
第1章 PHP起步 1
1.1 初识PHP 1
1.2 LAMP—锋利四剑客:Linux、Apache、MySQL和PHP 1
1.3 PHP Web编程的体系结构和基本内容 2
1.3.1 PHP、HTML、层叠样式表(CSS)和JavaScript及其关係 2
1.3.2 HTML文档 3
1.3.3 使用样式表实现页面效果 3
1.3.4 客户端的回响 4
1.3.5 嵌入式脚本页面 4
1.4 Web编程的基础知识之一:HTML 4
1.4.1 HTTP协定简介 4
1.4.2 标籤 5
1.4.3 元素 6
1.4.4 HTML的基本元素 7
1.4.5 创建HTML文档 12
1.4.6 创建HTML列表 13
1.4.7 创建页面表格 15
1.4.8 创建页面表单 16
1.5 Web编程的基础知识之二:层叠样式表(CSS)简介 17
1.5.1 样式表的基本语法 17
1.5.2 设定页面字型格式 17
1.5.3 设定页面颜色和背景 19
1.5.4 处理页面的边距和填充 20
1.5.5 理解HTML层的概念 20
1.5.6 按Web标準建立网页 20
1.5.7 在网页中引入样式表 21
1.6 Web编程的基础知识之三:JavaScript基础 21
1.6.1 网页中的JavaScript 22
1.6.2 JavaScript的变数 22
1.6.3 JavaScript的基本语句 23
1.6.4 使用简单的对话框 27
1.6.5 JavaScript的基本事件 28
1.6.6 JavaScript的函式 28
1.6.7 JavaScript的对象 29
1.6.8 JavaScript中的cookie 33
1.7 开始PHP之旅:搭建PHP开发环境 36
1.7.1 下载Apache、MySQL和PHP 36
1.7.2 在Windows下配置开发环境 38
1.7.3 在Linux/UNIX下配置开发环境 40
1.7.4 善其事利其器—PHP编辑器的选择 41
1.8 立竿见影 43
1.8.1 编写第一个PHP程式—“Hello,PHP!” 43
1.8.2 使用PHP处理HTML表单 43
1.9 深入了解Apache、PHP和MySQL 44
1.9.1 Apache伺服器目录 45
1.9.2 进行基本的Apache配置 45
1.9.3 Apache的启动与停止 46
1.9.4 PHP的核心配置—php.ini 46
1.9.5 PHP档案上传功能的配置 47
1.9.6 PHP中session的配置 47
1.9.7 PHP中和电子邮件有关的配置 47
1.9.8 PHP基本的安全设定 47
1.9.9 MySQL资料库系统的启动与关闭 47
1.9.10 MySQL对数据的存储 48
1.10 实例:使用JavaScript验证HTML表单数据 49
1.11 小结 54
第2章 PHP语言
第3章 用PHP进行Web编程
第4章 PHP对数组的处理
第5章 PHP对字元串的处理
第6章 用PHP操作目录和档案
第7章 用PHP处理日期和时间
第8章 PHP中对URL、HTTP的处理
第9章 PHP中的数学运算
第10章 用PHP获取系统信息
第11章 套用实践一:基于文本的简易BLOG系统
2012年机械工业出版社出版图书
出版社: 机械工业出版社; 第2版 (2012年3月31日)
丛书名: 零基础学编程
平装: 430页
语种: 简体中文
开本: 16
ISBN: 9787111372868, 7111372867
条形码: 9787111372868
商品尺寸: 26.6 x 19.4 x 3.8 cm
商品重量: 821 g
品牌: 机械工业出版社
编辑推荐
《零基础学PHP(第2版)》既包含Web开发的基础内容,又重点介绍PHP语言、PHP函式、MySQL和PHP的套用、PHP的各类高级特性等。对每一个知识点的讲解都遵循阐述通俗易懂、详尽细緻的原则。另外,《零基础学PHP(第2版)》通过简单和複杂程度中等的示例或实例讲解这些内容,在为每个知识点或函式套用举例时,儘可能使实例既简明典型又能说明问题,不但满足初学者入门的需要,也对初学者快速提高有所帮助。
《零基础学PHP(第2版)》叙述清晰,内容全面,是PHP初学者不可多得的入门书籍之一。对有一定开发经验的PHP开发人员来说,《零基础学PHP(第2版)(附DVD光碟1张)》也是一本相当实用的参考书。
《零基础学PHP(第2版)》叙述清晰,内容全面,是PHP初学者不可多得的入门书籍之一。对有一定开发经验的PHP开发人员来说,《零基础学PHP(第2版)(附DVD光碟1张)》也是一本相当实用的参考书。
目录
前言
第一篇 PHP技术基础
第1章 PHP起步 1
1.1 初识PHP 1
1.2 LAMP—锋利四剑客:Linux、Apache、MySQL和PHP 2
1.3 PHP Web编程的体系结构和基本内容 3
1.3.1 了解PHP、HTML、层叠样式表(CSS)和JavaScript及其关係 3
1.3.2 HTML文档 3
1.3.3 使用样式表实现页面效果 4
1.3.4 客户端的回响 4
1.3.5 嵌入式脚本页面 4
1.4 Web编程的基础知识之一:HTML 5
1.4.1 HTTP协定简介 5
1.4.2 HTML基础知识:标籤 5
1.4.3 HTML基础知识:元素 6
1.4.4 HTML基础知识:HTML的基本元素 7
1.4.5 创建HTML文档 12
1.4.6 创建HTML列表 13
1.4.7 创建页面表格 15
1.4.8 创建页面表单 16
1.5 Web编程的基础知识之二:层叠样式表(CSS)简介 16
1.5.1 样式表的基本语法 17
1.5.2 设定页面字型格式 17
1.5.3 设定页面颜色和背景 19
1.5.4 处理页面的边距和填充 19
1.5.5 理解HTML层的概念 20
1.5.6 按Web标準建立网页 20
1.5.7 在网页中引入样式表 20
1.6 Web编程的基础知识之三:JavaScript基础 21
1.6.1 网页中的JavaScript 21
1.6.2 JavaScript的变数 22
1.6.3 JavaScript的基本语句 23
1.6.4 使用简单的对话框 27
1.6.5 JavaScript的基本事件 28
1.6.6 JavaScript的函式 28
1.6.7 JavaScript的对象 30
1.6.8 JavaScript中的cookie 33
1.7 开始PHP之旅:搭建PHP开发环境 37
1.7.1 下载Apache、MySQL和PHP 37
1.7.2 在Windows下配置开发环境 38
1.7.3 在Linux/UNIX下配置开发环境 40
1.7.4 善其事利其器—PHP编辑器的选择 42
1.8 立竿见影 43
1.8.1 编写第一个PHP程式—“Hello,PHP!” 44
1.8.2 使用PHP处理HTML表单 44
1.9 深入了解Apache、PHP和MySQL 45
1.9.1 Apache伺服器目录 45
1.9.2 进行基本的Apache配置 46
1.9.3 Apache的启动与停止 47
1.9.4 PHP的核心配置——php.ini 47
1.9.5 PHP档案上传功能的配置 47
1.9.6 PHP中session的配置 48
1.9.7 PHP中和电子邮件有关的配置 48
1.9.8 PHP基本的安全设定 48
1.9.9 MySQL资料库系统的启动与关闭 48
1.9.10 MySQL对数据的存储 49
1.10 实例:使用JavaScript验证HTML表单数据 49
1.11 小结 54
1.12 上机实践 54
第2章 PHP语言 55
2.1 基础语法 55
2.1.1 PHP分隔设定 55
2.1.2 给PHP程式添加注释 56
2.2 变数 57
2.2.1 什幺是变数 57
2.2.2 变数的数据类型 57
2.2.3 变数类型的转换 61
2.2.4 可变变数 62
2.2.5 PHP的预定义变数 62
2.2.6 判断变数的类型 63
2.2.7 获取变数的类型 64
2.2.8 设定变数的类型 64
2.2.9 判断一个变数是否已经定义 65
2.2.10 删除一个变数 65
2.3 常量 65
2.3.1 什幺是常量 66
2.3.2 定义常量 66
2.3.3 使用PHP预定义常量 66
2.4 表达式 67
2.5 运算符 68
2.5.1 赋值运算符 68
2.5.2 算术运算符 69
2.5.3 递增/递减运算符 69
2.5.4 字元串运算符 70
2.5.5 逻辑运算符 71
2.5.6 比较运算符 72
2.5.7 运算符的优先权 72
2.6 PHP程式的流程控制 72
2.6.1 程式流程控制概述 73
2.6.2 条件控制语句:if和if...else语句 73
2.6.3 switch结构 76
2.6.4 循环控制语句:for循环语句 77
2.6.5 while循环语句 79
2.6.6 do...while循环语句 79
2.6.7 break和continue语句 80
2.6.8 条件运算符:? : 81
2.7 函式 82
2.7.1 PHP中函式的概念 82
2.7.2 定义函式和调用函式 82
2.7.3 函式的参数和函式的返回值 83
2.7.4 PHP函式的传值与传址 85
2.7.5 函式和变数作用域 87
2.8 小结 88
2.9 上机实践 89
第3章 用PHP进行Web编程 90
3.1 PHP的Web编程基础 90
3.1.1 访问和获取HTML表单数据 90
3.1.2 用PHP处理表单数据 92
3.1.3 用PHP验证表单数据有效性 93
3.1.4 PHP中的session 94
3.1.5 PHP中的档案上传处理 95
3.2 实例:用PHP开发一个简单的网站 97
3.2.1 网站功能设计 97
3.2.2 页面设计 98
3.2.3 用JavaScript实现客户端回响 98
3.2.4 伺服器端用PHP处理请求 99
3.3 小结 102
3.4 上机实践 102
第二篇 PHP数据处理
第4章 PHP对数组的处理 103
4.1 建立数组的方法 103
4.2 输出数组元素的方法 104
4.2.1 使用for循环语句输出数组元素 104
4.2.2 使用foreach循环语句输出数组元素 105
4.2.3 使用函式print_r()显示数组元素 106
4.3 计算数组元素个数 107
4.4 对数组进行分割、合併 108
4.4.1 实现数组分割 108
4.4.2 实现数组合併 109
4.5 处理数组元素和键值位置 109
4.6 对数组进行排序 111
4.6.1 使用函式sort()对数组进行排序 111
4.6.2 使用函式rsort()对数组进行逆向排序 112
4.6.3 排序时保持原数组的索引 113
4.6.4 数组的随机排序 114
4.6.5 数组的反向排序 115
4.7 重置一个数组 116
4.8 用数组对变数赋值 117
4.9 快速创建数组 118
4.10 压入和弹出数组元素 118
4.10.1 压入数组元素 118
4.10.2 弹出数组元素 119
4.11 改变数组字元索引名的大小写 120
4.12 对数组的集合处理 121
4.13 交换数组索引和元素 123
4.14 快速填充数组元素 124
4.15 统计数组元素出现次数 124
4.16 检查数组索引是否存在 125
4.17 取得数组中的所有索引 126
4.18 用回调函式处理数组 127
4.19 其他数组处理函式 128
4.19.1 判断某个值是否存在于数组 128
4.19.2 获取数组中当前单元的索引值 129
4.20 小结 130
4.21 上机实践 130
第5章 PHP对字元串的处理 132
5.1 对字元串做分割和合併 132
5.2 对字元串做比较和替换 133
5.2.1 比较两个字元串大小 134
5.2.2 字元串的替换 134
5.3 输出列印字元串 136
5.4 格式化字元串 136
5.5 获取字元串中的一个子串 138
5.6 删除字元串末尾部分的空白字元 139
5.7 删除字元串开始部分的空白字元 140
5.8 删除字元串两头的空白字元 140
5.9 获取字元串的长度 142
5.10 对字元串做大小写转换 142
5.11 处理含有HTML标记的字元串 143
5.12 多次生成一个字元串 144
5.13 将字元串分析到变数 146
5.14 转换字元串到数组 147
5.15 计算字元串的散列 148
5.16 小结 149
5.17 上机实践 150
第6章 用PHP操作目录和档案 151
6.1 目录操作 151
6.1.1 打开和关闭目录 151
6.1.2 获取目录中下一个档案的档案名称 152
6.1.3 列出某一目录下的所有档案 152
6.1.4 获取和改变PHP的当前工作目录 153
6.2 档案操作 154
6.2.1 打开和关闭档案 154
6.2.2 读出档案的内容 155
6.2.3 向档案写入内容 157
6.2.4 获取档案的相关信息 158
6.2.5 一些判断档案性质的函式 159
6.2.6 获取路径中的档案名称和目录名 160
6.2.7 判断档案或目录是否存在 161
6.2.8 用PHP建立目录和删除目录 162
6.2.9 用PHP複製、删除和移动档案 163
6.2.10 用PHP处理档案的锁定 164
6.2.11 用PHP更改档案的属性 165
6.2.12 获取档案时间属性 165
6.2.13 通过HTTP协定打开档案 166
6.2.14 包含指定的档案到当前档案 167
6.3 小结 169
6.4 上机实践 169
第7章 用PHP处理日期和时间 171
7.1 获取格式化的日期和时间 171
7.2 处理UNIX时间戳 173
7.3 获取日期和时间的相关信息 174
7.4 PHP中的日期计算 175
7.5 检查日期的有效性 175
7.6 小结 176
7.7 上机实践 177
第8章 PHP中对URL、HTTP的处理 178
8.1 URL地址分析 178
8.1.1 为什幺要对URL进行处理 178
8.1.2 对URL进行编码 178
8.1.3 对URL进行解码 179
8.1.4 对URL地址进行分析 180
8.2 HTTP套用 181
8.2.1 生成一个HTTP头 181
8.2.2 获取HTTP头信息 183
8.3 在PHP中生成cookie 183
8.3.1 生成cookie 183
8.3.2 获取cookie 184
8.3.3 cookie的有效期 185
8.3.4 cookie的有效路径 185
8.3.5 删除cookie 186
8.4 小结 186
8.5 上机实践 186
第9章 PHP中的数学运算 188
9.1 常见的数学运算 188
9.2 不同进制之间的数字转换 189
9.3 生成随机数 190
9.4 小结 191
9.5 上机实践 191
第10章 用PHP获取系统信息 192
10.1 获取和添加PHP环境变数 192
10.2 查看被载入的PHP扩展模组 194
10.3 获取PHP的当前各类信息 194
10.4 获取当前PHP进程的进程号和所有者 195
10.5 小结 196
10.6 上机实践 196
第11章 套用实践一:基于文本的简易BLOG系统 197
11.1 系统功能设计 197
11.2 系统功能实现 198
11.2.1 数据的存储及系统架构 198
11.2.2 实现BLOG文章的显示 199
11.2.3 完善用户界面 201
11.2.4 实现BLOG文章的添加功能 206
11.2.5 实现登录功能 210
11.2.6 实现BLOG首页 213
11.2.7 实现BLOG文章的编辑功能 217
11.2.8 实现BLOG文章的删除功能 220
11.2.9 实现BLOG归档显示的功能 223
11.2.10 实现BLOG的退出功能 227
11.3 小结 228
11.4 上机实践 228
第三篇 PHP和MySQL资料库
第12章 MySQL资料库和SQL基础 229
12.1 MySQL资料库简介 229
12.2 MySQL资料库的基本操作 230
12.2.1 表、栏位、记录和键的概念 230
12.2.2 登录和退出MySQL 230
12.2.3 建立和删除资料库 231
12.2.4 表的建立 232
12.2.5 建立索引 233
12.3 MySQL中的SQL语法基础 234
12.3.1 查看錶结构 234
12.3.2 插入数据 234
12.3.3 查询数据 235
12.3.4 条件查询 236
12.3.5 更新数据 237
12.3.6 删除数据 237
12.3.7 对查询结果做排序 238
12.3.8 对查询结果做分组 238
12.3.9 对查询结果做限定 239
12.3.10 MySQL的数据类型 240
12.3.11 MySQL运算符 240
12.3.12 MySQL中的模式匹配 241
13.3.13 使用MySQL函式 241
12.4 小结 244
12.5 上机实践 245
第13章 使用PHP操作MySQL资料库 246
13.1 操作MySQL的PHP函式 246
13.1.1 连线和关闭资料库的函式 246
13.1.2 执行SQL语句的函式 247
13.1.3 处理查询结果集的函式 247
13.1.4 获取栏位信息的函式 248
13.1.5 资料库操作的其他函式 248
13.2 使用PHP连线MySQL资料库 249
13.2.1 建立和资料库的连线 249
13.2.2 持久连线和临时连线 250
13.2.3 关闭连线 250
13.3 使用PHP显示MySQL资料库的数据 251
13.3.1 在PHP执行SQL语句 251
13.3.2 用PHP处理数据结果集 253
13.3.3 向Web页面显示数据 255
13.3.4 数据分页显示的原理及实现 257
13.4 使用PHP维护MySQL资料库的数据 260
13.4.1 从页面获取数据并插入资料库 260
13.4.2 根据表单内容修改资料库数据 262
13.4.3 通过PHP删除资料库数据 264
13.5 PHP操作MySQL常见错误信息及分析 267
13.6 小结 268
13.7 上机实践 269
第四篇 更上一层楼—PHP进阶
第14章 面向对象的PHP编程 271
14.1 面向对象编程的基本概念 271
14.2 PHP中的类和对象 272
14.2.1 类的创建 273
14.2.2 类的实例化—对象 274
14.2.3 构造函式和析构函式 275
14.2.4 继承 277
14.2.5 访问对象的属性和方法 278
14.2.6 PHP中类的静态成员 279
14.2.7 PHP中一些和类有关的函式 280
14.3 实例分析—深入理解PHP的类和对象 284
14.4 小结 288
14.5 上机实践 289
第15章 PHP中的正则表达式 290
15.1 什幺是正则表达式 290
15.2 正则表达式的语法 291
15.2.1 模式 291
15.2.2 元字元 292
15.2.3 转义字元 293
15.2.4 字元类 293
15.2.5 反义 294
15.2.6 数量匹配限定符 294
15.2.7 正则表达式构建实例 295
15.3 PHP中的POSIX 扩展正则表达式函式 295
15.3.1 正则表达式匹配函式 296
15.3.2 替换匹配字元串的函式 298
15.3.3 根据正则表达式分割字元串的函式 299
15.3.4 生成正则表达式的函式 300
15.4 PHP中的PERL兼容正则表达式函式 301
15.4.1 PERL兼容正则表达式中的修正符 301
15.4.2 返回与模式匹配的数组单元的正则表达式函式 302
15.4.3 进行正则表达式匹配的函式 304
15.4.4 进行全局正则表达式匹配的函式 305
15.4.5 执行正则表达式的搜寻和替换的函式 306
15.4.6 用正则表达式分割字元串的函式 307
15.5 几例常见正则表达式分析 308
15.5.1 检查IP位址的正则表达式 308
15.5.2 检查中文字元的正则表达式 310
15.5.3 检查Email地址的正则表达式 311
15.5.4 检查URL地址的正则表达式 313
15.6 小结 314
15.7 上机实践 314
第16章 PHP程式中的错误处理 316
16.1 重视程式中的错误处理 316
16.2 在PHP中处理程式错误 316
16.2.1 语法错误的处理 317
16.2.2 运行时错误的处理 317
16.2.3 逻辑错误的处理 318
16.3 PHP中的异常处理类及其用法 319
16.3.1 PHP中的异常处理类 319
16.3.2 PHP程式中捕获异常的方法 320
16.3.3 获取异常信息的函式 321
16.3.4 获取错误发生所在档案的函式 323
16.3.5 获取错误发生所在行的函式 323
16.4 PHP配置中和错误处理有关的内容 324
16.5 PHP中自定义的错误处理 325
16.6 小结 326
16.7 上机实践 326
第17章 PHP与XML 328
17.1 什幺是XML 328
17.2 建立一个简单的XML档案 329
17.3 深入认识XML文档 331
17.3.1 XML声明 331
17.3.2 XML元素 332
17.3.3 标记和属性 333
17.3.4 注释 334
17.3.5 处理指令 335
17.3.6 实体简介 335
17.3.7 档案类型定义(DTD) 336
17.4 在PHP中建立对XML的支持 338
17.5 用PHP函式处理XML文档 339
17.5.1 XML解析器的建立和释放 340
17.5.2 处理XML元素的函式 340
17.5.3 处理XML字元数据的函式 341
17.5.4 解析一个XML文档 341
17.5.5 完整实例分析 341
17.6 使用SimpleXML处理XML 343
17.6.1 SimpleXML简介 343
17.6.2 载入XML档案的函式 344
17.6.3 载入XML字元串的函式 345
17.6.4 使用SimpleXML的实例 346
17.7 使用PHP的DOM库处理XML文档 347
17.8 小结 349
17.9 上机实践 349
第18章 PHP与AJAX 351
18.1 什幺是AJAX 351
18.2 AJAX的工作原理 351
18.3 PHP与AJAX 352
18.3.1 创建XMLHttpRequest对象 352
18.3.2 传送异步请求 354
18.3.3 编写回调函式 356
18.3.4 完整实例 357
18.4 一个实现AJAX的PHP类—xajax 361
18.4.1 下载和安装xajax 361
18.4.2 xajax简介 361
18.4.3 在PHP程式中使用xajax 362
18.4.4 xajax套用实例 363
18.5 小结 364
18.6 上机实践 365
第19章 PHP与图像处理 366
19.1 PHP的图像处理库—GD库 366
19.1.1 安装GD库 366
19.1.2 主要图像处理函式介绍 367
19.2 图像的建立 368
19.2.1 用PHP生成图像 368
19.2.2 设定图像颜色 368
19.2.3 在图像上绘製直线 369
19.2.4 在图像上输出文字 370
19.3 图片处理 372
19.3.1 打开已经存在的图片 372
19.3.2 获取图片的相关属性 373
19.3.3 对图片加水印效果 375
19.3.4 生成已有图片的缩略图 379
19.4 实例:生成带有底纹的数字验证码图片 381
19.5 小结 382
19.6 上机实践 383
第20章 PHP与MVC开发模式 384
20.1 什幺是MVC模型 384
20.2 MVC模型的组成 385
20.2.1 控制器(Controller) 385
20.2.2 数据模型(Model) 385
20.2.3 视图(View) 386
20.3 PHP开发中的模板技术 386
20.3.1 什幺是模板 386
20.3.2 在PHP程式中使用模板 386
20.3.3 Smarty模板引擎介绍 387
20.3.4 Smarty模板引擎的使用 388
20.4 常见的基于MVC的PHP开发框架简介 389
20.4.1 CodeIgniter 389
20.4.2 CakePHP 390
20.4.3 Zend Framework 390
20.4.4 FleaPHP 391
20.5 CodeIgniter框架套用 391
20.5.1 CodeIgniter的技术特点介绍 392
20.5.2 安装CodeIgniter 392
20.5.3 CodeIgniter的Controller(控制器) 393
20.5.4 CodeIgniter的Model(数据模型) 395
20.5.5 CodeIgniter的View(视图) 395
20.6 小结 398
20.7 上机实践 398
第五篇 PHP套用实例与常见面试题
第21章 套用实践二:用PHP传送邮件 399
21.1 mail()函式和SMTP协定简介 399
21.1.1 mail()函式配置与语法 399
21.1.2 SMTP协定与指令 400
21.2 功能设计和实现 400
21.2.1 设计一个传送邮件的类 401
21.2.2 测试传送邮件功能 405
21.2.3 传送邮件的表单及程式实现 405
21.3 小结 408
第22章 常见面试题 409
面试题1 数组函式arsort()的作用是什幺 409
面试题2 简述include 和require语句的区别 409
面试题3 写出的输出结果 409
面试题4 如何实现字元串翻转 409
面试题5 说出echo、print()、print_r() 3个函式的区别 409
面试题6 写出显示客户端IP与伺服器端IP的代码 409
面试题7 SQL中LEFT JOIN是什幺意思 410
面试题8 如何修改session的生存时间 410
面试题9 写一个能够遍历一个资料夹下所有档案和子资料夹的函式 411
面试题10 写一个过滤网页上所有JS/VBS脚本的正则表达式 411
面试题11 PHP中字元串的表现形式有哪些 411
面试题12 谈谈你对MVC的认识 412
面试题13 sort()、asort ()和ksort()有什幺区别 412
面试题14 说出以下代码的输出结果(变数的作用域) 412
面试题15 以下哪个函式可打开档案并且能读/写档案信息 412
面试题16 写一个函式验证电子邮件的格式 413
面试题17 使用PHP写一段简单查询 413
面试题18 写出PHP5许可权控制修饰符 413
面试题19 说明PHP中传值与传引用的区别 414
面试题20 从一个标準URL里取出档案的扩展名 414
面试题21 用PHP列印出前一天的时间,格式是2011-05-10 22:21:21 414
面试题22 你一般使用哪些工具进行版本控制 414
面试题23 最佳化MySQL资料库的方法 414
面试题24 创建vote表用于记录单选投票用户的数据 415
面试题25 投票人数太多导致网站出现too many connection错误,请提供解决方案 415
面试题26 session与cookie的区别 415
附录A 配置Eclipse成为PHP开发工具 416
附录B 正则表达式参考 420
附录C PHP代码编写的一般规则 423
附录D 使用phpMyAdmin管理MySQL资料库 426
第一篇 PHP技术基础
第1章 PHP起步 1
1.1 初识PHP 1
1.2 LAMP—锋利四剑客:Linux、Apache、MySQL和PHP 2
1.3 PHP Web编程的体系结构和基本内容 3
1.3.1 了解PHP、HTML、层叠样式表(CSS)和JavaScript及其关係 3
1.3.2 HTML文档 3
1.3.3 使用样式表实现页面效果 4
1.3.4 客户端的回响 4
1.3.5 嵌入式脚本页面 4
1.4 Web编程的基础知识之一:HTML 5
1.4.1 HTTP协定简介 5
1.4.2 HTML基础知识:标籤 5
1.4.3 HTML基础知识:元素 6
1.4.4 HTML基础知识:HTML的基本元素 7
1.4.5 创建HTML文档 12
1.4.6 创建HTML列表 13
1.4.7 创建页面表格 15
1.4.8 创建页面表单 16
1.5 Web编程的基础知识之二:层叠样式表(CSS)简介 16
1.5.1 样式表的基本语法 17
1.5.2 设定页面字型格式 17
1.5.3 设定页面颜色和背景 19
1.5.4 处理页面的边距和填充 19
1.5.5 理解HTML层的概念 20
1.5.6 按Web标準建立网页 20
1.5.7 在网页中引入样式表 20
1.6 Web编程的基础知识之三:JavaScript基础 21
1.6.1 网页中的JavaScript 21
1.6.2 JavaScript的变数 22
1.6.3 JavaScript的基本语句 23
1.6.4 使用简单的对话框 27
1.6.5 JavaScript的基本事件 28
1.6.6 JavaScript的函式 28
1.6.7 JavaScript的对象 30
1.6.8 JavaScript中的cookie 33
1.7 开始PHP之旅:搭建PHP开发环境 37
1.7.1 下载Apache、MySQL和PHP 37
1.7.2 在Windows下配置开发环境 38
1.7.3 在Linux/UNIX下配置开发环境 40
1.7.4 善其事利其器—PHP编辑器的选择 42
1.8 立竿见影 43
1.8.1 编写第一个PHP程式—“Hello,PHP!” 44
1.8.2 使用PHP处理HTML表单 44
1.9 深入了解Apache、PHP和MySQL 45
1.9.1 Apache伺服器目录 45
1.9.2 进行基本的Apache配置 46
1.9.3 Apache的启动与停止 47
1.9.4 PHP的核心配置——php.ini 47
1.9.5 PHP档案上传功能的配置 47
1.9.6 PHP中session的配置 48
1.9.7 PHP中和电子邮件有关的配置 48
1.9.8 PHP基本的安全设定 48
1.9.9 MySQL资料库系统的启动与关闭 48
1.9.10 MySQL对数据的存储 49
1.10 实例:使用JavaScript验证HTML表单数据 49
1.11 小结 54
1.12 上机实践 54
第2章 PHP语言 55
2.1 基础语法 55
2.1.1 PHP分隔设定 55
2.1.2 给PHP程式添加注释 56
2.2 变数 57
2.2.1 什幺是变数 57
2.2.2 变数的数据类型 57
2.2.3 变数类型的转换 61
2.2.4 可变变数 62
2.2.5 PHP的预定义变数 62
2.2.6 判断变数的类型 63
2.2.7 获取变数的类型 64
2.2.8 设定变数的类型 64
2.2.9 判断一个变数是否已经定义 65
2.2.10 删除一个变数 65
2.3 常量 65
2.3.1 什幺是常量 66
2.3.2 定义常量 66
2.3.3 使用PHP预定义常量 66
2.4 表达式 67
2.5 运算符 68
2.5.1 赋值运算符 68
2.5.2 算术运算符 69
2.5.3 递增/递减运算符 69
2.5.4 字元串运算符 70
2.5.5 逻辑运算符 71
2.5.6 比较运算符 72
2.5.7 运算符的优先权 72
2.6 PHP程式的流程控制 72
2.6.1 程式流程控制概述 73
2.6.2 条件控制语句:if和if...else语句 73
2.6.3 switch结构 76
2.6.4 循环控制语句:for循环语句 77
2.6.5 while循环语句 79
2.6.6 do...while循环语句 79
2.6.7 break和continue语句 80
2.6.8 条件运算符:? : 81
2.7 函式 82
2.7.1 PHP中函式的概念 82
2.7.2 定义函式和调用函式 82
2.7.3 函式的参数和函式的返回值 83
2.7.4 PHP函式的传值与传址 85
2.7.5 函式和变数作用域 87
2.8 小结 88
2.9 上机实践 89
第3章 用PHP进行Web编程 90
3.1 PHP的Web编程基础 90
3.1.1 访问和获取HTML表单数据 90
3.1.2 用PHP处理表单数据 92
3.1.3 用PHP验证表单数据有效性 93
3.1.4 PHP中的session 94
3.1.5 PHP中的档案上传处理 95
3.2 实例:用PHP开发一个简单的网站 97
3.2.1 网站功能设计 97
3.2.2 页面设计 98
3.2.3 用JavaScript实现客户端回响 98
3.2.4 伺服器端用PHP处理请求 99
3.3 小结 102
3.4 上机实践 102
第二篇 PHP数据处理
第4章 PHP对数组的处理 103
4.1 建立数组的方法 103
4.2 输出数组元素的方法 104
4.2.1 使用for循环语句输出数组元素 104
4.2.2 使用foreach循环语句输出数组元素 105
4.2.3 使用函式print_r()显示数组元素 106
4.3 计算数组元素个数 107
4.4 对数组进行分割、合併 108
4.4.1 实现数组分割 108
4.4.2 实现数组合併 109
4.5 处理数组元素和键值位置 109
4.6 对数组进行排序 111
4.6.1 使用函式sort()对数组进行排序 111
4.6.2 使用函式rsort()对数组进行逆向排序 112
4.6.3 排序时保持原数组的索引 113
4.6.4 数组的随机排序 114
4.6.5 数组的反向排序 115
4.7 重置一个数组 116
4.8 用数组对变数赋值 117
4.9 快速创建数组 118
4.10 压入和弹出数组元素 118
4.10.1 压入数组元素 118
4.10.2 弹出数组元素 119
4.11 改变数组字元索引名的大小写 120
4.12 对数组的集合处理 121
4.13 交换数组索引和元素 123
4.14 快速填充数组元素 124
4.15 统计数组元素出现次数 124
4.16 检查数组索引是否存在 125
4.17 取得数组中的所有索引 126
4.18 用回调函式处理数组 127
4.19 其他数组处理函式 128
4.19.1 判断某个值是否存在于数组 128
4.19.2 获取数组中当前单元的索引值 129
4.20 小结 130
4.21 上机实践 130
第5章 PHP对字元串的处理 132
5.1 对字元串做分割和合併 132
5.2 对字元串做比较和替换 133
5.2.1 比较两个字元串大小 134
5.2.2 字元串的替换 134
5.3 输出列印字元串 136
5.4 格式化字元串 136
5.5 获取字元串中的一个子串 138
5.6 删除字元串末尾部分的空白字元 139
5.7 删除字元串开始部分的空白字元 140
5.8 删除字元串两头的空白字元 140
5.9 获取字元串的长度 142
5.10 对字元串做大小写转换 142
5.11 处理含有HTML标记的字元串 143
5.12 多次生成一个字元串 144
5.13 将字元串分析到变数 146
5.14 转换字元串到数组 147
5.15 计算字元串的散列 148
5.16 小结 149
5.17 上机实践 150
第6章 用PHP操作目录和档案 151
6.1 目录操作 151
6.1.1 打开和关闭目录 151
6.1.2 获取目录中下一个档案的档案名称 152
6.1.3 列出某一目录下的所有档案 152
6.1.4 获取和改变PHP的当前工作目录 153
6.2 档案操作 154
6.2.1 打开和关闭档案 154
6.2.2 读出档案的内容 155
6.2.3 向档案写入内容 157
6.2.4 获取档案的相关信息 158
6.2.5 一些判断档案性质的函式 159
6.2.6 获取路径中的档案名称和目录名 160
6.2.7 判断档案或目录是否存在 161
6.2.8 用PHP建立目录和删除目录 162
6.2.9 用PHP複製、删除和移动档案 163
6.2.10 用PHP处理档案的锁定 164
6.2.11 用PHP更改档案的属性 165
6.2.12 获取档案时间属性 165
6.2.13 通过HTTP协定打开档案 166
6.2.14 包含指定的档案到当前档案 167
6.3 小结 169
6.4 上机实践 169
第7章 用PHP处理日期和时间 171
7.1 获取格式化的日期和时间 171
7.2 处理UNIX时间戳 173
7.3 获取日期和时间的相关信息 174
7.4 PHP中的日期计算 175
7.5 检查日期的有效性 175
7.6 小结 176
7.7 上机实践 177
第8章 PHP中对URL、HTTP的处理 178
8.1 URL地址分析 178
8.1.1 为什幺要对URL进行处理 178
8.1.2 对URL进行编码 178
8.1.3 对URL进行解码 179
8.1.4 对URL地址进行分析 180
8.2 HTTP套用 181
8.2.1 生成一个HTTP头 181
8.2.2 获取HTTP头信息 183
8.3 在PHP中生成cookie 183
8.3.1 生成cookie 183
8.3.2 获取cookie 184
8.3.3 cookie的有效期 185
8.3.4 cookie的有效路径 185
8.3.5 删除cookie 186
8.4 小结 186
8.5 上机实践 186
第9章 PHP中的数学运算 188
9.1 常见的数学运算 188
9.2 不同进制之间的数字转换 189
9.3 生成随机数 190
9.4 小结 191
9.5 上机实践 191
第10章 用PHP获取系统信息 192
10.1 获取和添加PHP环境变数 192
10.2 查看被载入的PHP扩展模组 194
10.3 获取PHP的当前各类信息 194
10.4 获取当前PHP进程的进程号和所有者 195
10.5 小结 196
10.6 上机实践 196
第11章 套用实践一:基于文本的简易BLOG系统 197
11.1 系统功能设计 197
11.2 系统功能实现 198
11.2.1 数据的存储及系统架构 198
11.2.2 实现BLOG文章的显示 199
11.2.3 完善用户界面 201
11.2.4 实现BLOG文章的添加功能 206
11.2.5 实现登录功能 210
11.2.6 实现BLOG首页 213
11.2.7 实现BLOG文章的编辑功能 217
11.2.8 实现BLOG文章的删除功能 220
11.2.9 实现BLOG归档显示的功能 223
11.2.10 实现BLOG的退出功能 227
11.3 小结 228
11.4 上机实践 228
第三篇 PHP和MySQL资料库
第12章 MySQL资料库和SQL基础 229
12.1 MySQL资料库简介 229
12.2 MySQL资料库的基本操作 230
12.2.1 表、栏位、记录和键的概念 230
12.2.2 登录和退出MySQL 230
12.2.3 建立和删除资料库 231
12.2.4 表的建立 232
12.2.5 建立索引 233
12.3 MySQL中的SQL语法基础 234
12.3.1 查看錶结构 234
12.3.2 插入数据 234
12.3.3 查询数据 235
12.3.4 条件查询 236
12.3.5 更新数据 237
12.3.6 删除数据 237
12.3.7 对查询结果做排序 238
12.3.8 对查询结果做分组 238
12.3.9 对查询结果做限定 239
12.3.10 MySQL的数据类型 240
12.3.11 MySQL运算符 240
12.3.12 MySQL中的模式匹配 241
13.3.13 使用MySQL函式 241
12.4 小结 244
12.5 上机实践 245
第13章 使用PHP操作MySQL资料库 246
13.1 操作MySQL的PHP函式 246
13.1.1 连线和关闭资料库的函式 246
13.1.2 执行SQL语句的函式 247
13.1.3 处理查询结果集的函式 247
13.1.4 获取栏位信息的函式 248
13.1.5 资料库操作的其他函式 248
13.2 使用PHP连线MySQL资料库 249
13.2.1 建立和资料库的连线 249
13.2.2 持久连线和临时连线 250
13.2.3 关闭连线 250
13.3 使用PHP显示MySQL资料库的数据 251
13.3.1 在PHP执行SQL语句 251
13.3.2 用PHP处理数据结果集 253
13.3.3 向Web页面显示数据 255
13.3.4 数据分页显示的原理及实现 257
13.4 使用PHP维护MySQL资料库的数据 260
13.4.1 从页面获取数据并插入资料库 260
13.4.2 根据表单内容修改资料库数据 262
13.4.3 通过PHP删除资料库数据 264
13.5 PHP操作MySQL常见错误信息及分析 267
13.6 小结 268
13.7 上机实践 269
第四篇 更上一层楼—PHP进阶
第14章 面向对象的PHP编程 271
14.1 面向对象编程的基本概念 271
14.2 PHP中的类和对象 272
14.2.1 类的创建 273
14.2.2 类的实例化—对象 274
14.2.3 构造函式和析构函式 275
14.2.4 继承 277
14.2.5 访问对象的属性和方法 278
14.2.6 PHP中类的静态成员 279
14.2.7 PHP中一些和类有关的函式 280
14.3 实例分析—深入理解PHP的类和对象 284
14.4 小结 288
14.5 上机实践 289
第15章 PHP中的正则表达式 290
15.1 什幺是正则表达式 290
15.2 正则表达式的语法 291
15.2.1 模式 291
15.2.2 元字元 292
15.2.3 转义字元 293
15.2.4 字元类 293
15.2.5 反义 294
15.2.6 数量匹配限定符 294
15.2.7 正则表达式构建实例 295
15.3 PHP中的POSIX 扩展正则表达式函式 295
15.3.1 正则表达式匹配函式 296
15.3.2 替换匹配字元串的函式 298
15.3.3 根据正则表达式分割字元串的函式 299
15.3.4 生成正则表达式的函式 300
15.4 PHP中的PERL兼容正则表达式函式 301
15.4.1 PERL兼容正则表达式中的修正符 301
15.4.2 返回与模式匹配的数组单元的正则表达式函式 302
15.4.3 进行正则表达式匹配的函式 304
15.4.4 进行全局正则表达式匹配的函式 305
15.4.5 执行正则表达式的搜寻和替换的函式 306
15.4.6 用正则表达式分割字元串的函式 307
15.5 几例常见正则表达式分析 308
15.5.1 检查IP位址的正则表达式 308
15.5.2 检查中文字元的正则表达式 310
15.5.3 检查Email地址的正则表达式 311
15.5.4 检查URL地址的正则表达式 313
15.6 小结 314
15.7 上机实践 314
第16章 PHP程式中的错误处理 316
16.1 重视程式中的错误处理 316
16.2 在PHP中处理程式错误 316
16.2.1 语法错误的处理 317
16.2.2 运行时错误的处理 317
16.2.3 逻辑错误的处理 318
16.3 PHP中的异常处理类及其用法 319
16.3.1 PHP中的异常处理类 319
16.3.2 PHP程式中捕获异常的方法 320
16.3.3 获取异常信息的函式 321
16.3.4 获取错误发生所在档案的函式 323
16.3.5 获取错误发生所在行的函式 323
16.4 PHP配置中和错误处理有关的内容 324
16.5 PHP中自定义的错误处理 325
16.6 小结 326
16.7 上机实践 326
第17章 PHP与XML 328
17.1 什幺是XML 328
17.2 建立一个简单的XML档案 329
17.3 深入认识XML文档 331
17.3.1 XML声明 331
17.3.2 XML元素 332
17.3.3 标记和属性 333
17.3.4 注释 334
17.3.5 处理指令 335
17.3.6 实体简介 335
17.3.7 档案类型定义(DTD) 336
17.4 在PHP中建立对XML的支持 338
17.5 用PHP函式处理XML文档 339
17.5.1 XML解析器的建立和释放 340
17.5.2 处理XML元素的函式 340
17.5.3 处理XML字元数据的函式 341
17.5.4 解析一个XML文档 341
17.5.5 完整实例分析 341
17.6 使用SimpleXML处理XML 343
17.6.1 SimpleXML简介 343
17.6.2 载入XML档案的函式 344
17.6.3 载入XML字元串的函式 345
17.6.4 使用SimpleXML的实例 346
17.7 使用PHP的DOM库处理XML文档 347
17.8 小结 349
17.9 上机实践 349
第18章 PHP与AJAX 351
18.1 什幺是AJAX 351
18.2 AJAX的工作原理 351
18.3 PHP与AJAX 352
18.3.1 创建XMLHttpRequest对象 352
18.3.2 传送异步请求 354
18.3.3 编写回调函式 356
18.3.4 完整实例 357
18.4 一个实现AJAX的PHP类—xajax 361
18.4.1 下载和安装xajax 361
18.4.2 xajax简介 361
18.4.3 在PHP程式中使用xajax 362
18.4.4 xajax套用实例 363
18.5 小结 364
18.6 上机实践 365
第19章 PHP与图像处理 366
19.1 PHP的图像处理库—GD库 366
19.1.1 安装GD库 366
19.1.2 主要图像处理函式介绍 367
19.2 图像的建立 368
19.2.1 用PHP生成图像 368
19.2.2 设定图像颜色 368
19.2.3 在图像上绘製直线 369
19.2.4 在图像上输出文字 370
19.3 图片处理 372
19.3.1 打开已经存在的图片 372
19.3.2 获取图片的相关属性 373
19.3.3 对图片加水印效果 375
19.3.4 生成已有图片的缩略图 379
19.4 实例:生成带有底纹的数字验证码图片 381
19.5 小结 382
19.6 上机实践 383
第20章 PHP与MVC开发模式 384
20.1 什幺是MVC模型 384
20.2 MVC模型的组成 385
20.2.1 控制器(Controller) 385
20.2.2 数据模型(Model) 385
20.2.3 视图(View) 386
20.3 PHP开发中的模板技术 386
20.3.1 什幺是模板 386
20.3.2 在PHP程式中使用模板 386
20.3.3 Smarty模板引擎介绍 387
20.3.4 Smarty模板引擎的使用 388
20.4 常见的基于MVC的PHP开发框架简介 389
20.4.1 CodeIgniter 389
20.4.2 CakePHP 390
20.4.3 Zend Framework 390
20.4.4 FleaPHP 391
20.5 CodeIgniter框架套用 391
20.5.1 CodeIgniter的技术特点介绍 392
20.5.2 安装CodeIgniter 392
20.5.3 CodeIgniter的Controller(控制器) 393
20.5.4 CodeIgniter的Model(数据模型) 395
20.5.5 CodeIgniter的View(视图) 395
20.6 小结 398
20.7 上机实践 398
第五篇 PHP套用实例与常见面试题
第21章 套用实践二:用PHP传送邮件 399
21.1 mail()函式和SMTP协定简介 399
21.1.1 mail()函式配置与语法 399
21.1.2 SMTP协定与指令 400
21.2 功能设计和实现 400
21.2.1 设计一个传送邮件的类 401
21.2.2 测试传送邮件功能 405
21.2.3 传送邮件的表单及程式实现 405
21.3 小结 408
第22章 常见面试题 409
面试题1 数组函式arsort()的作用是什幺 409
面试题2 简述include 和require语句的区别 409
面试题3 写出的输出结果 409
面试题4 如何实现字元串翻转 409
面试题5 说出echo、print()、print_r() 3个函式的区别 409
面试题6 写出显示客户端IP与伺服器端IP的代码 409
面试题7 SQL中LEFT JOIN是什幺意思 410
面试题8 如何修改session的生存时间 410
面试题9 写一个能够遍历一个资料夹下所有档案和子资料夹的函式 411
面试题10 写一个过滤网页上所有JS/VBS脚本的正则表达式 411
面试题11 PHP中字元串的表现形式有哪些 411
面试题12 谈谈你对MVC的认识 412
面试题13 sort()、asort ()和ksort()有什幺区别 412
面试题14 说出以下代码的输出结果(变数的作用域) 412
面试题15 以下哪个函式可打开档案并且能读/写档案信息 412
面试题16 写一个函式验证电子邮件的格式 413
面试题17 使用PHP写一段简单查询 413
面试题18 写出PHP5许可权控制修饰符 413
面试题19 说明PHP中传值与传引用的区别 414
面试题20 从一个标準URL里取出档案的扩展名 414
面试题21 用PHP列印出前一天的时间,格式是2011-05-10 22:21:21 414
面试题22 你一般使用哪些工具进行版本控制 414
面试题23 最佳化MySQL资料库的方法 414
面试题24 创建vote表用于记录单选投票用户的数据 415
面试题25 投票人数太多导致网站出现too many connection错误,请提供解决方案 415
面试题26 session与cookie的区别 415
附录A 配置Eclipse成为PHP开发工具 416
附录B 正则表达式参考 420
附录C PHP代码编写的一般规则 423
附录D 使用phpMyAdmin管理MySQL资料库 426