- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
回顾
文件上传: 将本地文件通过浏览器发送给服务器保存
上传步骤
准备条件: 服务器和浏览器(POST,表单和enctype属性)
浏览器通过表单选择上传的文件提交
服务器接收文件($_FILES)
各种验证(错误信息,文件类型,文件大小)
重命名保存(move_uploaded_file)
多文件上传: 同名(遍历构造上传文件五要素数组: 验证移动)和不同名表单域(取出每个表单文件对应的数组:验证移动)
缩略图: 节省带宽,提高访问效率
获取原图: imagecreatefrom + png/gif/jpeg
获取缩略图资源: imagecreatetruecolor
补白: 缩略图背景填充
采样复制: imagecopyresampled/imagecopyresized
保存输出: imagepng
销毁资源: imagedestroy
水印图
水印: 像水一样打印在图片上面(不影响原来的图的显示,细看又能确定可以看到一些特性)
水印分类
文字水印: 验证码
图片水印: 将图片印在图片上面
水印的作用: 版权保护
水印制作
两个资源: 原图资源和水印资源
获取原图资源
获取水印资源(原图)
采样合并: imagecopymerge(目标图片,水印图片,目标起始X坐标,起始Y坐标,水印采样X坐标,采样Y坐标, 采样宽,采样高,透明度);
保存输出
销毁资源
封装水印制作
水印本质是图片: 图片已经存在: Image.class.php: 在该类追加一个制作水印的方法即可.
在类中增加制作水印的方法. /admin/includes/Image.class.php
判断: 原图和水印图
需要确定打开资源所用的函数
获取资源
5. 计算水印所在目标图片的位置: 1:左; 2右; 3中; 4左下,5右下: 学习PDO类
采样合并(保存)
应用水印制作. /admin/goods.php?act=insert
水印图制作配置文件: (经常性修改). /admin/conf/config.php
应用配置文件中的水印图片. /admin/goods.php?act=insert
项目总结
项目代码分布
Html文件: 专门负责显示数据
Php文件(admin目录下): 都是进行业务逻辑处理(接收动作,判断动作,验证数据,跳转等)
Class.php文件: 都是负责操作数据库
MVC
MVC: 是一种设计思想(模式): 一种将整个项目代码分成三个部分: 数据显示部分, 业务处理部分和数据操作部分.
M: Model,模型, 专门负责操作数据库(类文件)
V: View视图,专门负责显示数据(html文件)
C: Controller控制器, 处理所有的请求及业务逻辑, 包含调用模型操作数据库,以及调用视图显示数据.
代码发展过程
代码发展过程分为三个步骤:
混编阶段: PHP嵌入到HTML里面
优点: 效率最高(只有一个文件)
缺点: 很难维护(不利于分工)
模板技术: PHP代码与HTML代码分离
优点: 分工明确(前端与后台分离)
缺点: 效率降低,分工还是最明确
MVC: 在模板技术的基础上: 将PHP代码中的操作数据库的部分(SQL指令)再次分离处理: 形成三部分(数据显示模板, 业务处理逻辑和数据操作SQL)
优点: 分工最明确(代码非常利于维护)
缺点: 效率最低(动不动就需要加载好几个文件)
MVC关键字
M: Model模型
V: View视图
C: Controller控制器
Module: 模块,本质就是控制器
Templates: 模板,本质就是视图
高级MVC模式
MVC理论上来讲分为两种: 单一入口
基于模块的单一入口: 所有类似的请求都请求同一个控制器(privilege.php)
基于项目的单一入口: 所有项目的请求都请求同一个文件: index.php
项目单一入口MVC(纯面向对象)
所有的请求都是请求index.php
所有的控制器都是类
所有的视图都有类(一个类)
数据库的操作底层(DB类,MyPDO类)称之为DAO层(Data Access Object,数据接收对象)
Shop项目MVC
Shop项目MVC是一个基于模块MVC: 控制器是用户直接访问.
项目补充
在所有的模型类中都增加一个属性: 表名(不带前缀), 在DAO层(MyPDO类)中增加一个属性叫做prefix(表前缀)
不能够在SQL中固定死表名: 一旦发生修改(前缀和名字), 都意味着要改很多原代码.
解决方案: 统一处理: 得到一个能够动态的构造表全名的能
您可能关注的文档
最近下载
- 大学《电路》试题含答案.pdf VIP
- 金属加工与实训教案.docx VIP
- (教研)学习新课标,教学有方向(小学数学课标学习感悟体验分享展示培训课件).pptx VIP
- 立德树人背景下德育教育赋能初中班级管理的实践研究.docx VIP
- DL-T 507-2014 水轮发电机组启动试验规程.pdf VIP
- 详解2025年《增值税法》专题.ppt
- 农业温室结构荷载规范.pdf VIP
- 附件3:公路工程平安工地建设内业标准化指南(2)(1).docx VIP
- 2025年AI技术驱动下座舱演进趋势与实践报告.pdf
- 人教版化学九年级上册第六单元《碳和碳的氧化物》大单元作业设计(七).pdf VIP
原创力文档


文档评论(0)