第1章
LAMP网站构建
1
1.1 介绍网站给你认识
1
1.1.1 Web应用的优势
2
1.1.2 Web 2.0时代的互联网
3
1.1.3 Web开发标准 4
1.1.4 认识脚本语言 5
1.1.5 了解HTTP协议
5
1.2 动态网站开发所需的Web构件
10
1.2.1 客户端浏览器 10
1.2.2 超文本标记语言HTML
12
1.2.3 层叠样式表CSS 13
1.2.4 客户端脚本编程语言JavaScript
13
1.2.5 Web服务器
14
1.2.6 服务器端编程语言 16
1.2.7 数据库管理系统
16
1.3 几种主流的Web应用程序平台 17
1.3.1 Web应用程序开发平台对比分析 18
1.3.2 动态网站开发平台技术比较 19
1.4 Web的工作原理 19
1.4.1 情景1:服务器不带应用程序服务器和数据库 19
1.4.2 情景2:带应用程序服务器的Web服务器 21
1.4.3 情景3:浏览器访问服务器端的数据库 21
1.5 LAMP网站开发组合概述 22
1.5.1 Linux操作系统 22
1.5.2 Web服务器Apache 23
1.5.3 MySQL数据库管理系统 24
1.5.4 PHP后台脚本编程语言 24
1.5.5 LAMP发展趋势 25
第2章 从搭建你的PHP开发环境开始 27
2.1 几种常见的PHP环境安装方式 27
2.1.1 Linux系统下源代码包方式安装环境
27
2.1.2 在Windows系统上安装Web工作环境 28
2.1.3 搭建学习型的PHP工作环境 28
2.2 环境安装对操作系统的选择
29
2.2.1 选择网站运营的操作系统
29
2.2.2 选择网站开发的操作系统
29
2.3 安装集成PHP开发环境
30
2.3.1 安装前准备
30
2.3.2 安装步骤 30
2.3.3 环境测试 33
第3章
PHP的基本语法 36
3.1 PHP在Web开发中的应用
36
3.1.1 就从认识PHP开始吧
36
3.1.2 PHP都能做什么
37
3.2 第一个PHP脚本程序 39
3.3 PHP语言标记
42
3.3.1 将PHP代码嵌入HTML中的位置
43
3.3.2 解读开始和结束标记
44
3.4 指令分隔符“分号” 45
3.5 程序注释
45
3.6 在程序中使用空白的处理 47
3.7 变量
48
3.7.1 变量的声明
48
3.7.2 变量的命名
49
3.7.3 可变变量 51
3.7.4 变量的引用赋值
51
3.8 变量的类型 52
3.8.1 类型介绍 52
3.8.2 布尔型(boolean) 53
3.8.3 整型(integer)
54
3.8.4 浮点型(float或double)
55
3.8.5 字符串(string)
55
3.8.6 数组(array) 57
3.8.7 对象(object)
58
3.8.8 资源类型(resource) 58
3.8.9 NULL类型 59
3.8.10 伪类型介绍
59
3.9 数据类型之间相互转换
60
3.9.1 自动类型转换 60
3.9.2 强制类型转换 61
3.9.3 类型转换细节 62
3.10 常量 62
3.10.1 常量的定义和使用 62
3.10.2 常量和变量
63
3.11 PHP中的运算符 63
3.11.1 算术运算符
64
3.11.2 字符串运算符 66
3.11.3 赋值运算符
67
3.11.4 比较运算符
68
3.11.5 逻辑运算符
69
3.11.6 位运算符 70
3.11.7 其他运算符
73
3.11.8 运算符的优先级
74
3.12 表达式 75
第4章
PHP的流程控制结构 76
4.1 分支结构
76
4.1.1 单一条件分支结构(if) 77
4.1.2 双向条件分支结构(else从句) 78
4.1.3 多向条件分支结构(elseif子句) 79
4.1.4 多向条件分支结构(switch语句)
80
4.1.5 巢状条件分支结构 82
4.2 循环结构
83
4.2.1 while语句 84
4.2.2 do…while循环 86
4.2.3 for语句
87
4.3 特殊的流程控制语句 90
4.3.1 break语句
90
4.3.2 continue语句 91
4.3.3 exit语句 91
第5章
PHP的函数应用 93
5.1 函数的定义 93
5.2 自定义函数 94
5.2.1 函数的声明
94
5.2.2 函数的调用
96
5.2.3 函数的参数
97
5.2.4 函数的返回值 98
5.3 PHP变量的范围 100
5.3.1 局部变量 100
5.3.2 全局变量 101
5.4 声明及应用各种形式的PHP函数
103
5.4.1 常规参数的函数
104
5.4.2 伪类型参数的函数 104
5.4.3 引用参数的函数
105
5.4.4 默认参数的函数
106
5.4.5 可变个数参数的函数
108
5.4.6 回调函数 108
5.5 使用自定义函数库
111
第6章
PHP中的数组与数据结构
112
6.1 数组的分类 112
6.2 数组的定义 114
6.2.1 直接赋值的方式声明数组
114
6.2.2 使用array()语言结构新建数组
116
6.2.3 多维数组的声明
117
6.3 数组的遍历 119
6.3.1 使用for语句循环遍历数组 120
6.3.2 使用foreach语句遍历数组
122
6.4 预定义数组 125
6.4.1 服务器变量:$_SERVER 126
6.4.2 环境变量:$_ENV
126
6.4.3 URL GET变量:$_GET
126
6.4.4 HTTP POST变量:$_POST
127
6.4.5 request变量:$_REQUEST
128
6.4.6 HTTP文件上传变量:$_FILES 128
6.4.7 HTTP Cookies:$_COOKIE
129
6.4.8 Session变量:$_SESSION 129
6.4.9 Global变量:$GLOBALS 129
第7章
PHP面向对象的程序设计
130
7.1 面向对象的介绍 130
7.1.1 类和对象之间的关系
131
7.1.2 面向对象的程序设计
132
7.2 如何抽象一个类 132
7.2.1 类的声明 133
7.2.2 成员属性 133
7.2.3 成员方法 134
7.3 通过类实例化对象
136
7.3.1 实例化对象
136
7.3.2 对象中成员的访问 137
7.3.3 特殊的对象引用“$this”
139
7.3.4 构造方法与析构方法
141
7.4 封装性 144
7.4.1 设置私有成员 144
7.4.2 私有成员的访问
145
7.4.3 __set()和__get()方法
147
7.5 继承性 151
7.5.1 类继承的应用 152
7.5.2 访问类型控制 153
7.5.3 子类中重载父类的方法 155
7.6 常见的关键字和魔术方法 158
7.6.1 final关键字的应用 158
7.6.2 static关键字的使用 159
7.6.3 const关键字
160
7.6.4 克隆对象 161
7.6.5 类中通用的方法__toString()
162
7.6.6 __call()方法的应用 163
7.6.7 自动加载类
164
第8章 字符串处理 165
8.1 字符串的处理介绍
165
8.1.1 字符串的处理方式 165
8.1.2 字符串类型的特点 166
8.1.3 双引号中变量解析总结 167
8.2 常用的字符串输出函数
167
8.3 常用的字符串格式化函数 170
8.3.1 去除空格和字符串填补函数 171
8.3.2 字符串大小写的转换
172
8.3.3 和HTML标签相关的字符串格式化
172
第9章 正则表达式 177
9.1 正则表达式简介 177
9.1.1 选择PHP正则表达式的处理函数库
177
9.2 正则表达式的语法规则
178
9.2.1 定界符
179
9.2.2 原子 179
9.2.3 元字符
181
9.2.4 模式修正符
184
9.3 与Perl兼容的正则表达式函数 185
9.3.1 字符串的匹配与查找
185
9.3.2 字符串的替换 189
9.3.3 字符串的分割和连接
194
第10章 文件系统处理
197
10.1 文件系统概述 197
10.1.1 文件类型 197
10.1.2 文件的属性
198
10.2 目录的基本操作 201
10.2.1 解析目录路径 201
10.2.2 遍历目录 203
10.2.3 统计目录大小 204
10.2.4 建立和删除目录
205
10.2.5 复制目录 206
10.3 文件的基本操作 207
10.3.1 文件的打开与关闭 207
10.3.2 写入文件 209
10.3.3 读取文件内容 210
10.3.4 访问远程文件 212
10.3.5 移动文件指针 213
10.3.6 文件的锁定机制
214
10.3.7 文件的一些基本操作函数
217
10.4 文件的上传与下载 218
10.4.1 文件上传 218
10.4.2 处理多个文件上传 222
10.4.3 文件下载 223
第11章
PHP动态图像处理
225
11.1 PHP中GD库的使用 225
11.1.1 画布管理 226
11.1.2 设置颜色 226
11.1.3 生成图像 227
11.1.4 绘制图像 228
11.1.5 在图像中绘制文字 230
11.2 PHP图片处理 232
11.2.1 图片背景管理 233
11.2.2 图片缩放 234
11.2.3 图片裁剪 236
11.2.4 添加图片水印 237
11.2.5 图片旋转和翻转
238
第12章
MySQL数据库概述
241
12.1 数据库的应用 241
12.1.1 数据库在Web开发中的重要地位
242
12.1.2 为什么PHP会选择MySQL作为自己的黄金搭档
242
12.1.3 PHP和MySQL的合作方式 242
12.1.4 结构化查询语言SQL
243
12.2 MySQL数据库的常见操作 244
12.2.1 MySQL数据库的连接与关闭 244
12.2.2 创建新用户并授权 245
12.2.3 创建数据库
245
12.2.4 创建数据表
246
12.2.5 数据表内容的简单管理 247
第13章
MySQL数据表的设计 249
13.1 数据表(Table)
249
13.2 数据值和列类型 250
13.2.1 数值类的数据列类型
250
13.2.2 字符串类数据列类型
251
13.2.3 日期和时间型数据列类型
252
13.2.4 NULL值 253
13.2.5 类型转换 253
13.3 数据字段属性 253
13.4 数据表对象管理 254
13.4.1 创建表(CREATE
TABLE)
254
13.4.2 修改表(ALTER
TABLE) 256
13.4.3 删除表(DROP
TABLE) 257
13.5 数据表的类型及存储位置 257
13.5.1 MyISAM数据表
257
13.5.2 InnoDB数据表 258
13.5.3 如何选择InnoDB还是MyISAM表类型
258
13.6 数据表的默认字符集 259
13.6.1 字符集支持原理
259
13.6.2 创建数据对象时修改字符集 259
13.7 创建索引 260
13.7.1 主键索引(PRIMARY
KEY) 260
13.7.2 唯一索引(UNIQUE) 261
13.7.3 常规索引(INDEX)
261
第14章
SQL语句设计
263
14.1 操作数据表中的数据记录(DML)
263
14.1.1 使用INSERT语句向数据表中添加数据
263
14.1.2 使用UPDATE语句更新数据表中已存在的数据 264
14.1.3 使用DELETE语句删除数据表中不需要的数据记录 265