书籍详情
零基础学PHP(第2版)
作者:陈浩 等编著
出版社:机械工业出版社
出版时间:2012-04-01
ISBN:9787111372868
定价:¥59.00
购买这本书可以去
内容简介
PHP是一种运行于服务器端并完全跨平台的嵌入式脚本编程语言,是目前开发各类Web应用的主流语言之一。《零基础学PHP(第2版)》就是面向PHP初学者特地推出的一本进阶学习的入门教程。《零基础学PHP(第2版)》一共分为5篇,由浅入深逐步讲述了PHP的各个方面,包括Web编程的基础知识、PHP的基础语法、内置函数、MySQL的应用、面向对象编程、PHP处理XML、PHP处理正则表达式、PHP与AJAX、PHP开发框架等。书中对每一个知识点都列举实例,深入分析其原理及用法。《零基础学PHP(第2版)》叙述清晰,内容全面,是PHP初学者不可多得的入门书籍之一。对有一定开发经验的PHP开发人员来说,本书也是一本相当实用的参考书。
作者简介
本书主要由陈浩编著,其他参与编著和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平、顾旭光。作 者2012年2月
目录
前言
第一篇 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
猜您喜欢