Web开发经典丛书PHP 7开发宝典(第4版)
1星价
¥76.8
(6.0折)
2星价¥76.8
定价¥128.0
图文详情
ISBN:9787302566281
装帧:一般胶版纸
册数:暂无
重量:暂无
开本:其他
页数:576
出版时间:2021-01-01
条形码:9787302566281 ; 978-7-302-56628-1
本书特色
《PHP 7开发宝典(第4版)》详细介绍了如何通过添加反馈表单、创建私人区域让授权用户上传自动调整大小的图像,或者将所有内容存储到数据库中,从而使网站更具动态性。作者David Powers更新了他的权威书籍,介绍了新发布的PHP 7,以及这个版本所带来的新技术和变化。 新的特性包括太空船运算符、空合并运算符、生成器、在list()函数中使用数组便捷语法、数组解引用,以及使用splat运算符进行数组解包。 PHP和MySQL数据库是创建动态网站更受欢迎的组合。它们是免费的且易于使用,并且许多网络托管公司都提供标准的安装包。本书还涵盖了MariaDB。MariaDB是MySQL的无缝替代品,已经被许多Web服务器所采用。 《PHP 7开发宝典(第4版)》通过一系列实例向你提供了真正有价值的技术方案,并可以直接融入你的网站,优化性能和增加功能,如文件上传、电子邮件反馈表单、图片库和内容管理系统等。创建每个解决方案时,不仅实现了特定功能,还提供了界面设计。 《PHP 7开发宝典(第4版)》不仅提供一系列现成的脚本,而且每个PHP解决方案都建立在以前的基础之上,快速而轻松地教给你PHP和数据库设计的基础知识。学完本书,你将有信心开始编写自己的脚本;如果你不愿意从头开始编写,也可以修改本书提供的代码以满足自己的需求。从本书一开始,作者就向你展示了如何通过采用安全编码实践来轻松地保护网站。
内容简介
《PHP 7开发宝典(第4版)》详细介绍了如何通过添加反馈表单、创建私人区域让授权用户上传自动调整大小的图像,或者将所有内容存储到数据库中,从而使网站更具动态性。作者David Powers更新了他的非常不错书籍,介绍了新发布的PHP 7,以及这个版本所带来的新技术和变化。新的特性包括太空船运算符、空合并运算符、生成器、在list()函数中使用数组便捷语法、数组解引用,以及使用splat运算符进行数组解包。
PHP和MySQL数据库是创建动态网站更受欢迎的组合。它们是免费的且易于使用,并且许多网络托管公司都提供标准的安装包。本书还涵盖了MariaDB。MariaDB是MySQL的无缝替代品,已经被许多Web服务器所采用。
《PHP 7开发宝典(第4版)》通过一系列实例向你提供了真正有价值的技术方案,并可以直接融入你的网站,优化性能和增加功能,如文件上传、电子邮件反馈表单、图片库和内容管理系统等。创建每个解决方案时,不仅实现了特定功能,还提供了界面设计。
《PHP 7开发宝典(第4版)》不仅提供一系列现成的脚本,而且每个PHP解决方案都建立在以前的基础之上,快速而轻松地教给你PHP和数据库设计的基础知识。学完本书,你将有信心开始编写自己的脚本;如果你不愿意从头开始编写,也可以修改本书提供的代码以满足自己的需求。从本书一开始,作者就向你展示了如何通过采用安全编码实践来轻松地保护网站。
主要内容
● 设计与构建基于PHP的动态网站和应用程序
● 通过可以重用的实际示例开始学习
● 掌握PHP 7的新特性,包括处理数组的新方法
● 使用近期新的PHP 7技术、创新和更佳实践
目录
目 录
_x00C_第1章 PHP介绍和PHP使用对象 1
1.1 PHP的演进 2
1.2 使用PHP实现页面_x00B_动态效果 2
1.3 学习和使用PHP的难易_x00B_程度 4
1.3.1 复制和粘贴本书的_x00B_PHP代码 5
1.3.2 PHP的安全性 5
1.4 编写PHP代码需要使用_x00B_的软件 5
1.5 本章小结 7
第2章 准备使用PHP 9
2.1 检测网站是否支持PHP 9
2.2 安装本地测试环境 11
2.3 在Windows上设置PHP_x00B_开发测试环境 11
2.3.1 设置Windows以显示_x00B_文件扩展名 12
2.3.2 选择Web服务器 12
2.3.3 在Windows上安装一体_x00B_化软件安装包 12
2.4 在macOS上设置PHP开发测试环境 12
2.4.1 安装MAMP 13
2.4.2 测试和配置MAMP 13
2.5 PHP文件在Windows和Mac上的存放位置 15
2.6 查看PHP设置 16
2.6.1 使用phpinfo()命令显示_x00B_服务器配置 16
2.6.2 编辑php.ini文件 18
2.7 后续学习内容 20
第3章 编写PHP脚本 21
3.1 PHP概况 21
3.1.1 告诉服务器处理PHP_x00B_页面 22
3.1.2 将PHP代码嵌入网页 22
3.1.3 将PHP代码保存在外部_x00B_文件中 23
3.1.4 使用变量表示变化的值 23
3.1.5 用分号结束语句 26
3.1.6 注释脚本 26
3.1.7 使用数组存储多个_x00B_变量 27
3.1.8 PHP内置的超级全局_x00B_数组 29
3.1.9 理解引号的使用 29
3.1.10 根据条件语句做出_x00B_决策 32
3.1.11 比较运算符 33
3.1.12 使用缩进和空格提高_x00B_代码可读性 34
3.1.13 对重复性任务使用_x00B_循环 35
3.1.14 使用函数执行预设的_x00B_任务 35
3.1.15 显示PHP输出 36
3.1.16 理解PHP错误消息 38
3.2 本章小结 39
第4章 PHP:快速参考 41
4.1 在已有的网站中使用PHP 41
4.2 PHP中的数据类型 41
4.2.1 检查变量的数据类型 43
4.2.2 显式更改变量的数据_x00B_类型 43
4.2.3 检查变量是否已定义 44
4.3 使用PHP进行计算 44
4.3.1 算术运算符 44
4.3.2 使用递增和递减运算符 45
4.3.3 运算符的优先级 46
4.3.4 组合计算和赋值运算符 46
4.4 字符串连接 46
4.5 你想知道的关于引号的_x00B_一切 47
4.5.1 PHP处理字符串中的_x00B_变量的方式 47
4.5.2 在双引号内使用转义_x00B_序列 48
4.5.3 在字符串中嵌入关联_x00B_数组元素 48
4.5.4 使用heredoc语法避免_x00B_转义引号 49
4.6 创建数组 50
4.6.1 创建索引数组 51
4.6.2 创建关联数组 51
4.6.3 创建空数组 52
4.6.4 多维数组 52
4.6.5 使用print_r()函数检查_x00B_数组 53
4.7 PHP中的逻辑运算 54
4.7.1 显式布尔值 54
4.7.2 隐式布尔值 54
4.7.3 根据两个值的比较_x00B_结果做决策 55
4.7.4 复合条件 56
4.7.5 对决策链使用switch_x00B_语句 56
4.7.6 使用三元运算符 58
4.7.7 使用空合并运算符设置_x00B_默认值 59
4.8 使用循环重复执行代码 59
4.8.1 while循环和do…while_x00B_循环 59
4.8.2 用途多样的for循环 60
4.8.3 使用foreach循环遍历_x00B_数组和对象 61
4.8.4 中断循环 62
4.9 使用函数模块化代码 63
4.9.1 向函数传递值 63
4.9.2 为参数设置默认值 64
4.9.3 变量的作用域 65
4.9.4 从函数返回值 66
4.9.5 生成器—— 一种不断_x00B_产生输出的特殊类型_x00B_的函数 66
4.9.6 通过引用传递参数 67
4.9.7 接收可变数量参数的_x00B_函数 68
4.9.8 自定义函数的位置 69
4.10 理解PHP类和对象 69
4.11 为类和函数指定数据类型_x00B_(可选) 70
4.12 处理错误和异常 72
4.13 动态创建新变量 73
4.14 后续内容 74
第5章 使用包含文件 75
5.1 包含来自外部文件的代码 75
5.1.1 PHP包含命令 75
5.1.2 PHP查找包含文件的_x00B_位置 76
5.1.3 为包含文件选择正确_x00B_的文件扩展名 81
5.1.4 创建内容会发生变化_x00B_的页面 91
5.1.5 防止包含文件出错 100
5.1.6 抑制已部署网站的错误_x00B_消息 101
5.1.7 不能在PHP包含文件中_x00B_使用网站根相对链接 106
5.1.8 选择获取包含文件的_x00B_位置 107
5.1.9 包含文件的安全注意_x00B_事项 108
5.1.10 修改include_path_x00B_指令 108
5.2 本章回顾 111
第6章 在线表单 113
6.1 PHP从表单收集信息的_x00B_方式 113
6.1.1 理解post和get的_x00B_区别 115
6.1.2 使用PHP超级全局_x00B_数组获取表单数据 118
6.2 处理和验证用户输入 118
6.2.1 创建可重用的脚本 119
6.2.2 在表单不完整时保留_x00B_用户输入 127
6.2.3 过滤潜在攻击 129
6.3 发送电子邮件 131
6.4 处理多项选择表单元素 141
6.5 本章回顾 150
第7章 使用PHP管理文件 151
7.1 检查PHP是否能打开_x00B_文件 151
7.1.1 在Windows服务器_x00B_根目录外创建文件_x00B_夹以便进行本地测试 152
7.1.2 影响文件访问的配置_x00B_设置 153
7.2 读写文件 153
7.2.1 在单个操作中读取_x00B_文件 154
7.2.2 打开和关闭用于读/写_x00B_操作的文件 158
7.3 探索文件系统 167
7.3.1 使用scandir()函数_x00B_检查文件夹 167
7.3.2 使用FilesystemIterator类_x00B_检查文件夹的内容 168
7.3.3 使用RegexIterator限制_x00B_文件类型 171
7.4 访问远程文件 175
7.4.1 使用新闻源和其他_x00B_RSS源 176
7.4.2 使用SimpleXML 177
7.5 创建下载链接 181
7.6 本章回顾 183
第8章 使用数组 185
8.1 修改数组元素 185
8.1.1 PHP解决方案8-1:使用_x00B_循环修改数组元素 186
8.1.2 PHP解决方案8-2:_x00B_使用array_walk()函数_x00B_修改数组元素 188
8.1.3 PHP解决方案8-3:_x00B_使用array_map()函数_x00B_修改数组元素 190
8.2 合并数组 193
8.2.1 使用数组并集操作符 193
8.2.2 使用array_merge()和_x00B_array_merge_recursive()_x00B_函数 195
8.2.3 将两个索引数组合并为_x00B_关联数组 197
8.2.4 比较数组 197
8.2.5 PHP解决方案8-4:_x00B_用逗号连接数组 198
8.3 数组排序 201
8.3.1 PHP解决方案8-5:_x00B_使用宇宙飞船操作符_x00B_进行自定义排序 203
8.3.2 使用array_multisort()_x00B_函数进行复杂排序 205
8.3.3 PHP解决方案8-6:_x00B_使用array_multisort()_x00B_函数对多维数组排序 206
8.3.4 PHP解决方案8-7:_x00B_查找数组的所有排列 208
8.4 处理数组数据 210
8.4.1 PHP解决方案8-8:_x00B_自动构建嵌套列表 210
8.4.2 PHP解决方案8-9:_x00B_从JSON中提取数据 214
8.5 自动将数组元素分配给_x00B_变量 217
8.5.1 使用extract()函数 218
8.5.2 使用list() 218
8.5.3 使用list()的数组快捷_x00B_语法 219
8.5.4 PHP解决方案8-10:_x00B_使用生成器处理CSV_x00B_文件 219
8.6 使用扩张操作符从数组中_x00B_解包参数 222
8.7 本章回顾 224
第9章 上传文件 225
9.1 PHP处理文件上传的_x00B_方式 225
9.1.1 检查服务器是否支持_x00B_上传 226
9.1.2 向表单添加文件上传_x00B_字段 227
9.1.3 理解$_FILES数组 228
9.1.4 建立上传目录 230
9.2 上传文件 230
9.2.1 将临时文件转移到_x00B_上传文件夹 231
9.2.2 PHP解决方案9-1:创建_x00B_基本的文件上传脚本 231
9.3 创建PHP文件上传类 234
9.3.1 定义PHP类 235
9.3.2 检查上传文件的错误 242
9.3.3 修改受保护的属性 245
9.4 一次上传多个文件 252
9.5 使用Upload类 258
9.6 上传文件时需要注意的_x00B_检查点 258
9.7 本章回顾 259
第10章 生成缩略图 261
10.1 检查服务器的能力 261
10.2 动态处理图像 262
10.3 上传时自动调整图像_x00B_大小 281
10.3.1 扩展类 281
10.3.2 使用Thumbnail-_x00B_Upload类 287
10.4 本章回顾 288
第11章 记住用户的输入:简单_x00B_登录表单和多页表单 289
11.1 会话的定义和工作原理 289
11.1.1 创建PHP会话 292
11.1.2 创建和销毁会话_x00B_变量 292
11.1.3 销毁会话 292
11.1.4 重新生成会话ID 293
11.1.5 Headers already sent_x00B_错误 293
11.2 使用会话限制访问 294
11.2.1 PHP解决方案11-1:一_x00B_个简单的会话示例 294
11.2.2 使用基于文件的身份_x00B_验证 299
11.2.3 保护密码的安全 299
11.3 设置会话的时间限制 321
11.4 在多页表单之间传递_x00B_信息 324
11.5 本章回顾 331
第12章 数据库入门 333
12.1 选择数据库:MySQL或_x00B_MariaDB 333
12.2 数据库存储数据的原理 334
12.2.1 主键的工作原理 335
12.2.2 用主键和外键链接_x00B_多个数据表 336
12.2.3 把信息分成小块 337
12.2.4 设计良好数据库的_x00B_标准 337
12.3 使用图形界面管理_x00B_MySQL 337
12.4 创建名为phpsols的_x00B_数据库 339
12.4.1 MySQL的命名_x00B_规则 339
12.4.2 使用phpMyAdmin_x00B_创建新数据库 340
12.4.3 创建特定于数据库的_x00B_用户账户 341
12.4.4 创建数据库表 344
12.4.5 在表中插入记录 346
12.4.6 创建用于备份和数据_x00B_迁移的SQL文件 350
12.5 在MySQL中选择正确的_x00B_数据类型 354
12.5.1 存储文本 354
12.5.2 存储数字 355
12.5.3 存储日期和时间 355
12.5.4 存储预定义列表 356
12.5.5 存储二进制数据 356
12.6 本章回顾 356
第13章 使用PHP和SQL连接_x00B_数据库 357
13.1 检查远程服务器设置 357
13.2 PHP与数据库通信的_x00B_过程 358
13.2.1 使用MySQLi_x00B_进行连接 359
13.2.2 使用PDO进行连接 359
13.2.3 PHP解决方案13-1:_x00B_创建可重用的数据库_x00B_连接器 360
13.2.4 清理从数据库获取_x00B_的文本内容 363
13.2.5 查询数据库并显示_x00B_结果 364
13.3 使用SQL与数据库_x00B_交互 371
13.3.1 编写SQL查询 371
13.3.2 优化由SELECT查询_x00B_检索的数据 373
13.4 了解SQL注入的_x00B_危险性 376
13.5 使用准备好的语句处理_x00B_用户输入 381
13.5.1 在MySQLi中将变量嵌_x00B_入准备好的语句中 382
13.5.2 在PDO中将变量嵌入_x00B_准备好的语句中 387
13.6 本章回顾 394
第14章 创建动态图片库 397
14.1 不在数据库中存储图像_x00B_的原因 398
14.2 规划画廊 398
14.3 将图片库静态页面上的_x00B_元素转换为PHP 400
14.4 构建动态元素 403
14.4.1 通过查询字符串传递_x00B_信息 403
14.4.2 创建有多列的表 407
14.4.3 分页显示数量较多的_x00B_记录 409
14.5 本章回顾 416
第15章 数据库内容管理 417
15.1 建立内容管理系统 417
15.1.1 创建blog数据库表 418
15.1.2 创建基本的插入和_x00B_更新表单 419
15.1.3 插入新记录 421
15.1.4 链接到更新和删除_x00B_页面 425
15.1.5 更新记录 429
15.1.6 删除记录 439
15.2 4个基本SQL命令的_x00B_语法 440
15.2.1 SELECT命令 441
15.2.2 INSERT命令 443
15.2.3 UPDATE命令 443
15.2.4 DELETE命令 444
15.3 安全和错误消息 444
15.4 本章回顾 445
第16章 格式化文本和日期 447
16.1 显示文本摘要 447
16.1.1 提取固定数量的_x00B_字符 447
16.1.2 在一个完整的单词上_x00B_结束摘录 449
16.1.3 提取**段文件 450
16.1.4 显示段落 450
16.1.5 提取完整的语句 452
16.2 构建日期 456
16.2.1 MySQL处理日期的_x00B_方式 456
16.2.2 在MySQL中插入_x00B_日期 460
16.2.3 在PHP中处理日期 466
16.3 本章回顾 481
第17章 从多个表中抽取数据 483
17.1 理解表的关系 483
17.2 将图片关联到文章 485
17.2.1 改变现有表的结构 485
17.2.2 在表中插入外键 487
17.2.3 从多张表中选择_x00B_记录 493
17.2.4 查询不包含匹配外键_x00B_的记录 498
17.2.5 创建智能链接 500
17.3 本章回顾 501
第18章 管理多个数据库表 503
18.1 维护引用完整性 503
18.1.1 支持事务和外键_x00B_约束 504
18.1.2 将记录插入多个_x00B_表中 507
18.1.3 创建交叉引用表 508
18.1.4 获取上传图片的_x00B_文件名 509
18.1.5 修改插入表单以处理_x00B_多个表 510
18.2 更新和删除多个表中的_x00B_记录 523
18.2.1 更新交叉引用表中_x00B_的记录 523
18.2.2 将多个查询视为事务_x00B_中的一个块 526
18.2.3 在删除记录时保留_x00B_引用完整性 534
18.2.4 创建具有外键约束的_x00B_删除脚本 538
18.2.5 创建没有外键约束的_x00B_删除脚本 539
18.3 本章回顾 540
第19章 使用数据库进行用户_x00B_身份验证 541
19.1 选择密码存储方法 541
19.2 使用散列密码 542
19.2.1 创建表来存储用户的_x00B_详细信息 542
19.2.2 在数据库中注册_x00B_新用户 542
19.3 使用密钥加密 550
19.3.1 创建用于存储用户_x00B_详细信息的表 550
19.3.2 注册新用户 551
19.3.3 使用双向加密的用户_x00B_身份验证 553
19.3.4 解密密码 554
19.4 更新用户的详细信息 555
19.5 后续学习 555
_x00C_
_x00C_
展开全部
作者简介
David Powers已经累计发布了三十多个关于PHP的视频培训课程和书籍。这些课程和书籍都非常成功。他以前是BBC电台和电视台的记者,在任职记者期间,花费了很大一部分时间在日本报道泡沫经济的兴衰。他擅长用简单且通俗易懂的语言分析复杂的问题。这种能力也体现在他的关于PHP和Web开发的文章中。
David*初是在20世纪90年代初作为BBC日本电视台的编辑参与网络开发。由于没有营销预算,他开发了一个双语网站来推广这个渠道。离开BBC以后,他继续为一家国际咨询公司开发双语在线数据库,并在英国两所大学讲授网络开发课程。除了写作和制作视频培训课程外,他还是北伦敦一家慈善机构的受托人。该慈善机构为退休人员和不再全职工作的人员提供教育设施。
预估到手价 ×
预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。
确定