文章教程

5.19书签共享系统——修改书签系统设置

9/17/2020 9:43:31 PM 人评论 次浏览

5.19 书签共享系统——修改书签系统设置

一个优秀的Web 2.0网站能让用户方便地维护网站,本系统也提供了用户来维护他们网站的功能,通过改变有关参数来所示。

alt

设置页面

要点

修改网站的设置参数,只是简单地进行数据库的数据更新,利用本书前面介绍的PHP技术,很快就能掌握这些代码。唯一需要补充的是这里有图片上传。关于图片上传部分与2.4节中介绍的没有多少区别,这里因为上传的是用户的标志图片,标志图片是有大小限制(最好不超过500KB)的,而且上传后再调用相关函数生成20×20像素的小图片。

为了方便用户使用,不让设置页面显得过长,将设置页面分成了四个TAB:基本设置、显示选项、书签下载、其他设置。

目录

alt

数据库的表结构

数据库的表结构如表5-31所示。

表5-31 用户设置(config)

alt

alt

代码

alt

setConfigInfo方法用于取得所有的配置属性,显示在配置页面。

alt

定义保存系统设置的动作,在保存设置前,进行保存上传图片的处理。

alt

进行基本设置TAB的修改保存时(Form变量flg为1)

alt

生成保存个人头像图片的目录(img/user/)。

alt

具体的上传处理与普通的文件上传没有任何区别,请参见2.4节的解说。

严格来说,要进行上传图片的有效性检查,如图片的大小,以及有效的文件后缀(.jpg,.gif,.png,不能超出此三类后缀)。处理并不复杂,交给有兴趣的朋友去完成。

alt

图片名字为“l_用户ID.扩展名”。

alt

上传的图片保存为大头像。

alt

调用MainIndex类的createBreviaryImage方法生成用户头像的小图片,大小为20×20像素。

alt

保存所有设置使用saveConfigInfo方法。

alt

检索所有的个人书签收藏夹的书签,用于生成HTML文档。

alt

setBmInfo方法是抽出个人书签收藏夹中的所有书签的方法,其检索SQL文与个人书签收藏夹页面的相同,因为不进行分页显示,去掉了后面的LIMIT命令。

alt

29行到36行对抽出的结果进行格式化。

alt

setConfigInfo方法抽出所有系统配置,用于配置修改页面的显示。

alt

调用setProfileImg方法合成用户头像文件的路径。

alt

Form变量flg为1时,意味着更新“基本设置”TAB的内容。

alt

Form变量profiledelete非空即意味着用户选择了删除的选择框。

alt

此处不是进行真正的删除图片的操作,只是将设置表(config)中的图片列置为空。下一次如果上传新图片时,会覆盖服务器中的旧图片的。

alt

选择了上传图片时,更新表中的相应项目。

alt

保存显示选项TAB的设置信息。

alt

createBreviaryImage方法为图片大小转换方法,有6个参数,依次为对象图片全路径、保存目录路径、新图片名、最大宽、最大长、失真率(因为是缩小,相比原图有失真)。

alt

使用函数getimagesize取得对象图片的属性、宽度、长度、类型(1:gif图片,2:jpg图片,3:png图片),其他属性。

alt

根据对象图片的类型,调用imagecreatefromgif等函数将图片转化为图片对象。

alt

计算图片转换的比率(scale),取长与宽中的最小的,且只有比率小于1(只进行缩小处理)时,才进行下面的处理。

alt

计算新的图片的长与宽。

alt

Imagecreatetruecolor函数定义新图片的坯对象——$newImg。

alt

imagecopyresampled函数用于根据旧图片生成新图片的图片对象。

alt

根据图片的类型,将保存在内存中的图片对象还原成实际的图片,并保存到指定的路径中。

alt

imagedestroy函数用于清空内存中的图片对象。

alt

alt

alt

alt

alt

alt

alt

alt

教程类别