《PHP从入门到精通 第4版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:明日科技编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302457220
  • 页数:543 页
图书介绍:本书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术。全书共分4篇25章,包括初识PHP、PHP环境搭建和开发工具、PHP语言基础、流程控制语句、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、PHP与JavaScript交互、日期和时间、Cookie与Session、图形图像处理技术、文件系统、面向对象等内容。

第1篇 基础知识 2

第1章 初识PHP 2

1.1 PHP概述 3

1.1.1 什么是PHP 3

1.1.2 PHP语言的优势 3

1.1.3 PHP 5的新特性 4

1.1.4 PHP的发展趋势 4

1.1.5 PHP的应用领域 5

1.2 扩展库 5

1.3 如何学好PHP 8

1.4 学习资源 9

1.4.1 常用软件资源 9

1.4.2 常用网上资源 10

1.4.3 主要图书网站 10

1.5 网站建设的基本流程 10

1.6 小结 11

第2章 PHP环境搭建和开发工具 12

2.1 在Windows下使用WampServer 13

2.1.1 PHP开发环境的安装 13

2.1.2 PHP服务器的启动与停止 15

2.1.3 PHP开发环境的关键配置 16

2.2 在Linux下的安装配置 19

2.2.1 安装Apache服务器 20

2.2.2 安装MySQL数据库 21

2.2.3 安装PHP 5 21

2.3 PHP常用开发工具 23

2.4 第一个PHP实例 24

2.5 小结 26

2.6 实践与练习 26

第3章 PHP语言基础 27

3.1 PHP标记风格 28

3.2 PHP注释的应用 28

3.3 PHP的数据类型 30

3.3.1 标量数据类型 30

3.3.2 复合数据类型 35

3.3.3 特殊数据类型 36

3.3.4 数据类型转换 38

3.3.5 检测数据类型 39

3.4 PHP常量 40

3.4.1 声明和使用常量 40

3.4.2 预定义常量 41

3.5 PHP变量 43

3.5.1 变量声明及使用 43

3.5.2 变量作用域 44

3.5.3 可变变量 46

3.5.4 PHP预定义变量 47

3.6 PHP运算符 48

3.6.1 算术运算符 48

3.6.2 字符串运算符 49

3.6.3 赋值运算符 49

3.6.4 递增或递减运算符 50

3.6.5 位运算符 51

3.6.6 逻辑运算符 52

3.6.7 比较运算符 53

3.6.8 条件运算符 54

3.6.9 运算符的优先级 54

3.7 PHP的表达式 55

3.8 PHP函数 56

3.8.1 定义和调用函数 56

3.8.2 在函数间传递参数 57

3.8.3 从函数中返回值 59

3.8.4 变量函数 59

3.9 PHP编码规范 60

3.9.1 什么是编码规范 60

3.9.2 PHP书写规则 61

3.9.3 PHP命名规则 62

3.10 小结 64

3.11 实践与练习 64

第4章 流程控制语句 65

4.1 条件控制语句 66

4.1.1 if语句 66

4.1.2 if...else语句 67

4.1.3 elseif语句 68

4.1.4 switch语句 70

4.2 循环控制语句 72

4.2.1 while循环语句 72

4.2.2 do...while循环语句 73

4.2.3 for循环语句 74

4.2.4 foreach循环语句 75

4.3 跳转语句 76

4.3.1 break语句 76

4.3.2 continue语句 78

4.4 小结 79

4.5 实践与练习 80

第5章 字符串操作 81

5.1 字符串的定义方法 82

5.1.1 使用单引号或双引号定义字符串 82

5.1.2 使用定界符定义字符串 83

5.2 字符串操作 83

5.2.1 去除字符串首尾空格和特殊字符 84

5.2.2 转义、还原字符串数据 85

5.2.3 获取字符串的长度 88

5.2.4 截取字符串 90

5.2.5 比较字符串 91

5.2.6 检索字符串 94

5.2.7 替换字符串 95

5.2.8 格式化字符串 98

5.2.9 分割、合成字符串 99

5.3 小结 101

5.4 实践与练习 101

第6章 正则表达式 102

6.1 什么是正则表达式 103

6.2 正则表达式语法规则 103

6.2.1 行定位符(^和$) 104

6.2.2 单词分界符(\b、\B) 104

6.2.3 字符类([]) 104

6.2.4 选择字符(|) 105

6.2.5 连字符(-) 105

6.2.6 排除字符([^]) 106

6.2.7 限定符(?*+{n,m}) 106

6.2.8 点号字符(.) 107

6.2.9 转义字符(\) 107

6.2.10 反斜线(\) 107

6.2.11 括号字符(()) 108

6.2.12 反向引用 109

6.2.13 模式修饰符 109

6.3 PCRE兼容正则表达式函数 110

6.3.1 preg_grep()函数 110

6.3.2 preg_match()和preg_match_all()函数 111

6.3.3 preg_quote()函数 112

6.3.4 preg_replace()函数 112

6.3.5 preg_replace_callback()函数 113

6.3.6 preg_split()函数 114

6.4 应用正则表达式对用户注册信息进行验证 114

6.5 小结 116

6.6 实践与练习 116

第7章 PHP数组 117

7.1 什么是数组 118

7.2 声明数组 118

7.3 数组的类型 120

7.3.1 数字索引数组 120

7.3.2 关联数组 120

7.4 输出数组 121

7.5 数组的构造 122

7.5.1 一维数组 122

7.5.2 二维数组 122

7.6 遍历数组 123

7.7 字符串与数组的转换 125

7.8 统计数组元素个数 127

7.9 查询数组中指定元素 128

7.10 获取数组中最后一个元素 129

7.11 向数组中添加元素 130

7.12 删除数组中重复元素 131

7.13 综合运用数组函数实现多文件上传 131

7.14 小结 133

7.15 实践与练习 133

第8章 PHP与Web页面交互 134

8.1 表单 135

8.1.1 创建表单 135

8.1.2 表单元素 136

8.2 在普通的Web页中插入表单 139

8.3 获取表单数据的两种方法 141

8.3.1 使用POST方法提交表单 141

8.3.2 使用GET方法提交表单 142

8.4 PHP参数传递的常用方法 143

8.4.1 $_POST[]全局变量 143

8.4.2 $_GET[]全局变量 144

8.4.3 $_SESSION[]变量 144

8.5 在Web页中嵌入PHP脚本 145

8.5.1 在HTML标记中添加PHP脚本 145

8.5.2 对表单元素的value属性进行赋值 145

8.6 在PHP中获取表单数据 145

8.6.1 获取文本框、密码域、隐藏域、按钮、文本域的值 146

8.6.2 获取单选按钮的值 147

8.6.3 获取复选框的值 148

8.6.4 获取下拉列表框/菜单列表框的值 149

8.6.5 获取文件域的值 151

8.7 对URL传递的参数进行编/解码 152

8.7.1 对URL传递的参数进行编码 152

8.7.2 对URL传递的参数进行解码 153

8.8 PHP与Web表单的综合应用 154

8.9 小结 155

8.10 实践与练习 156

第9章 PHP与JavaScript交互 157

9.1 了解JavaScript 158

9.1.1 什么是JavaScript 158

9.1.2 JavaScript的功能 158

9.2 JavaScript语言基础 158

9.2.1 JavaScript数据类型 159

9.2.2 JavaScript变量 159

9.2.3 JavaScript注释 161

9.3 自定义函数 161

9.4 JavaScript流程控制语句 162

9.4.1 条件语句 162

9.4.2 循环语句 166

9.4.3 跳转语句 168

9.5 JavaScript事件 169

9.6 调用JavaScript脚本(JavaScript脚本嵌入方式) 170

9.6.1 在HTML中嵌入JavaScript脚本 170

9.6.2 应用JavaScript事件调用自定义函数 172

9.6.3 在PHP动态网页中引用JS文件 172

9.6.4 解决浏览器不支持JavaScript的问题 173

9.7 在PHP中调用JavaScript脚本 176

9.7.1 应用JavaScript脚本验证表单元素是否为空 176

9.7.2 应用JavaScript脚本制作二级导航菜单 177

9.7.3 应用JavaScript脚本控制文本域和复选框 179

9.8 小结 181

9.9 实践与练习 181

第10章 日期和时间 182

10.1 系统时区设置 183

10.1.1 时区划分 183

10.1.2 时区设置 183

10.2 PHP日期和时间函数 184

10.2.1 获得本地化时间戳 184

10.2.2 获取当前时间戳 185

10.2.3 获取当前日期和时间 186

10.2.4 获取日期信息 187

10.2.5 检验日期的有效性 188

10.2.6 输出格式化的日期和时间 189

10.2.7 显示本地化的日期和时间 190

10.2.8 将日期和时间解析为UNIX时间戳 193

10.3 日期和时间的应用 194

10.3.1 比较两个时间的大小 194

10.3.2 实现倒计时功能 195

10.3.3 计算页面脚本的运行时间 196

10.4 小结 197

10.5 实践与练习 197

第2篇 核心技术 200

第11章 Cookie与Session 200

11.1 Cookie管理 201

11.1.1 了解Cookie 201

11.1.2 创建Cookie 202

11.1.3 读取Cookie 203

11.1.4 删除Cookie 204

11.1.5 Cookie的生命周期 205

11.2 Session管理 205

11.2.1 了解Session 205

11.2.2 创建会话 206

11.2.3 Session设置时间 208

11.2.4 通过Session判断用户的操作权限 210

11.3 Session高级应用 213

11.3.1 Session临时文件 213

11.3.2 Session缓存 213

11.3.3 Session数据库存储 214

11.4 小结 217

11.5 实践与练习 217

第12章 图形图像处理技术 218

12.1 在PHP中加载GD库 219

12.2 Jpgraph的安装与配置 220

12.2.1 Jpgraph的安装 220

12.2.2 Jpgraph的配置 220

12.3 图形图像的典型应用 221

12.3.1 创建一个简单的图像 221

12.3.2 使用GD2函数在照片上添加文字 221

12.3.3 使用图像处理技术生成验证码 222

12.3.4 使用柱形图统计图书月销售量 224

12.3.5 使用折线图统计图书月销售额 225

12.3.6 使用3D饼形图统计各类商品的年销售额比率 227

12.4 小结 228

12.5 实践与练习 228

第13章 文件系统 230

13.1 文件处理 231

13.1.1 打开/关闭文件 231

13.1.2 读写文件 232

13.1.3 操作文件 237

13.2 目录处理 238

13.2.1 打开/关闭目录 238

13.2.2 浏览目录 239

13.2.3 操作目录 240

13.3 文件处理的高级应用 241

13.3.1 远程文件的访问 241

13.3.2 文件指针 241

13.3.3 锁定文件 243

13.4 文件上传 243

13.4.1 配置php.ini文件 244

13.4.2 预定义变量$_FILES 244

13.4.3 文件上传函数 245

13.4.4 多文件上传 246

13.5 小结 248

13.6 实践与练习 248

第14章 面向对象 249

14.1 面向对象的基本概念 250

14.1.1 类 250

14.1.2 对象 250

14.1.3 面向对象编程的三大特点 251

14.2 PHP与对象 251

14.2.1 类的定义 251

14.2.2 成员方法 252

14.2.3 类的实例化 253

14.2.4 成员变量 253

14.2.5 类常量 255

14.2.6 构造方法和析构方法 255

14.2.7 继承和多态的实现 258

14.2.8 “$this->”和“∷”的使用 261

14.2.9 数据隐藏 262

14.2.10 静态变量(方法) 264

14.3 面向对象的高级应用 266

14.3.1 final关键字 266

14.3.2 抽象类 267

14.3.3 接口的使用 268

14.3.4 克隆对象 270

14.3.5 对象比较 271

14.3.6 对象类型检测 272

14.3.7 魔术方法 273

14.4 面向对象的应用——中文字符串的截取类 277

14.5 小结 279

14.6 实践与练习 279

第15章 PHP加密技术 280

15.1 PHP加密函数 281

15.1.1 使用crypt()函数进行加密 281

15.1.2 使用md5()函数进行加密 283

15.1.3 使用shal()函数进行加密 284

15.2 PHP加密扩展库 285

15.2.1 Mcrypt扩展库 285

15.2.2 Mhash扩展库 288

15.3 小结 289

15.4 实践与练习 289

第16章 MySQL数据库基础 290

16.1 MySQL概述 291

16.2 启动和关闭MySQL服务器 292

16.2.1 启动MySQL服务器 292

16.2.2 连接和断开MySQL服务器 292

16.3 操作MySQL数据库 293

16.3.1 创建数据库 293

16.3.2 选择数据库 294

16.3.3 查看数据库 294

16.3.4 删除数据库 294

16.4 MySQL数据类型 295

16.4.1 数字类型 295

16.4.2 字符串类型 296

16.4.3 日期和时间类型 297

16.5 操作数据表 297

16.5.1 创建数据表 298

16.5.2 查看表结构 299

16.5.3 修改表结构 300

16.5.4 重命名数据表 301

16.5.5 删除数据表 301

16.6 数据表记录的更新操作 302

16.6.1 数据表记录的添加 302

16.6.2 数据表记录的修改 303

16.6.3 数据表记录的删除 303

16.7 数据表记录的查询操作 303

16.8 MySQL中的特殊字符 307

16.9 小结 308

16.10 实践与练习 308

第17章 phpMyAdmin图形化管理工具 309

17.1 phpMyAdmin介绍 310

17.2 phpMyAdmin的使用 310

17.2.1 操作数据库 310

17.2.2 操作数据表 312

17.2.3 使用SQL语句操作数据表 314

17.2.4 管理数据记录 318

17.2.5 生成和执行MySQL数据库脚本 319

17.3 小结 321

17.4 实践与练习 321

第18章 PHP操作MySQL数据库 322

18.1 PHP操作MySQL数据库的方法 323

18.1.1 连接MySQL服务器 323

18.1.2 选择MySQL数据库 324

18.1.3 执行SQL语句 325

18.1.4 将结果集返回到数组中 326

18.1.5 从结果集中获取一行作为对象 328

18.1.6 从结果集中获取一行作为枚举数组 329

18.1.7 从结果集中获取一行作为关联数组 330

18.1.8 获取查询结果集中的记录数 331

18.1.9 释放内存 331

18.1.10 关闭连接 332

18.1.11 连接与关闭MySQL服务器的最佳时机 333

18.2 管理MySQL数据库中的数据 334

18.2.1 添加数据 334

18.2.2 编辑数据 335

18.2.3 删除数据 337

18.2.4 批量数据操作 338

18.3 小结 339

18.4 实践与练习 339

第19章 PDO数据库抽象层 340

19.1 什么是PDO 341

19.1.1 PDO概述 341

19.1.2 PDO特点 341

19.1.3 安装PDO 341

19.2 PDO连接数据库 342

19.2.1 PDO构造函数 342

19.2.2 DSN详解 343

19.3 PDO中执行SQL语句 343

19.3.1 exec方法 343

19.3.2 query方法 343

19.3.3 预处理语句——prepare和execute 344

19.4 PDO中获取结果集 344

19.4.1 fetch方法 344

19.4.2 fetchAll方法 346

19.4.3 fetchColumn方法 347

19.5 PDO中捕获SQL语句中的错误 348

19.5.1 使用默认模式——PDO∷ERRMODE_SILENT 348

19.5.2 使用警告模式——PDO∷ERRMODE_WARNING 349

19.5.3 使用异常模式——PDO∷ERRMODE_EXCEPTION 351

19.6 PDO中错误处理 352

19.6.1 errorCode方法 352

19.6.2 errorInfo方法 354

19.7 PDO中事务处理 355

19.8 PDO中存储过程 356

19.9 小结 358

19.10 实践与练习 358

第20章 ThinkPHP框架 359

20.1 ThinkPHP简介 360

20.1.1 ThinkPHP框架的特点 360

20.1.2 环境要求 360

20.1.3 下载ThinkPHP框架 361

20.2 ThinkPHP架构 362

20.2.1 ThinkPHP的目录结构 362

20.2.2 自动生成目录 363

20.2.3 项目目录部署方案 364

20.2.4 命名规范 365

20.2.5 项目构建流程 365

20.3 ThinkPHP的配置 367

20.3.1 配置格式 368

20.3.2 调试配置 369

20.4 ThinkPHP的控制器 369

20.4.1 控制器 369

20.4.2 跨模块调用 371

20.5 ThinkPHP的模型 375

20.5.1 模型的命名 375

20.5.2 实例化模型 376

20.5.3 属性访问 380

20.5.4 连接数据库 380

20.5.5 创建数据 383

20.5.6 连贯操作 384

20.5.7 CURD操作 385

20.6 ThinkPHP的视图 391

20.6.1 模板定义 391

20.6.2 模板赋值 392

20.6.3 指定模板文件 392

20.6.4 特殊字符串替换 393

20.7 内置ThinkTemplate模板引擎 397

20.8 小结 402

20.9 实践与练习 402

第3篇 高级应用 406

第21章 Smarty模板技术 406

21.1 Smarty简介 407

21.1.1 什么是Smarty 407

21.1.2 Smarty与MVC 407

21.1.3 Smarty的特点 407

21.2 Smarty的安装配置 408

21.2.1 Smarty的下载和安装 408

21.2.2 第一个Smarty程序 408

21.2.3 Smarty配置 410

21.3 Smarty模板设计 412

21.3.1 Smarty模板文件 412

21.3.2 注释 412

21.3.3 变量 412

21.3.4 修饰变量 415

21.3.5 流程控制 417

21.4 Smarty程序设计 420

21.4.1 Smarty中的常用方法 420

21.4.2 Smarty的配置变量 422

21.5 Smarty模板的应用 422

21.5.1 将Smarty的配置方法封装到类中 422

21.5.2 Smarty+ADODB整合应用 425

21.6 小结 427

21.7 实践与练习 427

第22章 PHP与XML技术 428

22.1 XML概述 429

22.2 XML语法 429

22.2.1 XML文档结构 429

22.2.2 XML声明 430

22.2.3 处理指令 430

22.2.4 注释 430

22.2.5 XML元素 431

22.2.6 XML属性 431

22.2.7 使用CDATA标记 431

22.2.8 XML命名空间 432

22.3 在PHP中创建XML文档 433

22.4 SimpleXML类库 433

22.4.1 创建SimpleXML对象 434

22.4.2 遍历所有子元素 435

22.4.3 遍历所有属性 436

22.4.4 访问特定节点元素和属性 437

22.4.5 修改XML数据 437

22.4.6 保存XML文档 439

22.5 动态创建XML文档 440

22.6 小结 441

22.7 实践与练习 441

第23章 PHP与Ajax技术 442

23.1 Ajax概述 443

23.1.1 什么是Ajax 443

23.1.2 Ajax的开发模式 443

23.1.3 Ajax的优点 444

23.2 Ajax使用的技术 444

23.2.1 JavaScript脚本语言 444

23.2.2 XMLHttpRequest 444

23.2.3 XML语言 447

23.2.4 DOM 447

23.2.5 CSS 447

23.3 Ajax开发需要注意的几个问题 448

23.4 在PHP中应用Ajax技术的典型应用 449

23.4.1 在PHP中应用Ajax技术检测用户名 449

23.4.2 在PHP中应用Ajax技术实现博客文章类别添加 451

23.5 小结 454

23.6 实践与练习 455

第4篇 项目实战 458

第24章 应用Smarty模板开发电子商务网站 458

24.1 开发背景 459

24.2 需求分析 459

24.3 系统分析 459

24.3.1 系统目标 459

24.3.2 系统功能结构 460

24.3.3 开发环境 461

24.3.4 文件夹组织结构 461

24.4 数据库与数据表的设计 462

24.4.1 数据库分析 462

24.4.2 创建数据库和数据表 464

24.5 公共文件设计 466

24.5.1 数据库连接、管理和分页类文件 467

24.5.2 Smarty模板配置类文件 469

24.5.3 执行类的实例化文件 470

24.6 前台首页设计 470

24.6.1 前台首页技术分析 471

24.6.2 前台首页实现过程 472

24.7 登录模块设计 474

24.7.1 登录模块概述 474

24.7.2 登录模块技术分析 474

24.7.3 用户注册 476

24.7.4 用户登录 478

24.7.5 找回密码 480

24.8 会员信息模块设计 485

24.8.1 会员信息模块概述 485

24.8.2 会员信息模块技术分析 485

24.8.3 会员中心 486

24.8.4 安全退出 490

24.9 商品显示模块 490

24.9.1 商品展示模块概述 490

24.9.2 商品展示模块技术分析 491

24.9.3 商品展示模块的实现过程 492

24.10 购物车模块设计 495

24.10.1 购物车模块概述 495

24.10.2 购物车模块技术分析 495

24.10.3 购物车展示 498

24.10.4 更改商品数量 499

24.10.5 删除商品 500

24.10.6 保存购物车 503

24.11 收银台模块设计 504

24.11.1 收银台模块概述 504

24.11.2 收银台模块技术分析 505

24.11.3 显示订单 505

24.11.4 填写订单 506

24.11.5 处理订单 506

24.12 后台首页设计 508

24.12.1 后台首页概述 508

24.12.2 后台首页技术分析 509

24.12.3 后台首页实现过程 510

24.13 开发常见问题与解决 512

24.13.1 解决Ajax的乱码问题 513

24.13.2 使用JS脚本获取、输出标签内容 513

24.13.3 禁用页面缓存 513

24.13.4 在新窗口中使用session 513

24.13.5 判断上传文件格式 514

24.13.6 设置服务器的时间 514

24.14 小结 515

第25章 应用ThinkPHP框架开发明日导航网 516

25.1 项目设计思路 517

25.1.1 功能阐述 517

25.1.2 功能结构 517

25.1.3 系统预览 517

25.2 数据库设计 519

25.2.1 数据库分析 519

25.2.2 数据表设计 520

25.2.3 连接数据库 521

25.3 ThinkPHP架设项目结构 521

25.3.1 下载ThinkPHP框架 521

25.3.2 自动生成项目目录 522

25.4 明日导航前台页面设计 523

25.4.1 页面设计概述 523

25.4.2 控制器的创建 524

25.4.3 视图中应用到的模板标签 526

25.4.4 在视图中创建模板文件 529

25.5 明日导航后台管理设计 530

25.5.1 后台管理概述 530

25.5.2 通过系统配置文件存储后台登录数据 530

25.5.3 后台管理架构解析 531

25.5.4 ThinkPHP框架中的分页技术 532

25.5.5 后台管理视图中应用的模板标签 533

25.5.6 后台登录 535

25.5.7 后台管理主页 536

25.5.8 高级类别管理 538

25.5.9 判断访问用户的权限 541

25.5.10 操作提示页面 542

25.6 小结 543