2.13 编程词典管理模块设计
视频讲解
本模块的功能是对网站中的编程词典进行管理,包括添加编程词典版本、编辑编程词典版本、添加编程词典和编辑编程词典。
2.13.1 编程词典管理模块概述
本模块的主要功能是管理网站中在线出售的编程词典软件,实现对编程词典软件的及时更新和维护,其管理的内容主要包括添加和编辑编程词典的版本,添加和编辑编程词典的详细信息。在添加编程词典时,包括名称、版权、图片、类别、内容简介和不同版本的共同点;编辑编程词典包括版本、价格、简介、功能和服务,其中每一个编程词典软件只可以编辑一次,不可以进行重复编辑,如果要重新编辑,就必须将已经编辑过的信息删除。
2.13.2 编程词典管理模块技术分析
在编程词典管理模块中,应用到图片上传技术,通过该技术将编程词典的界面效果上传到服务器的指定文件夹下。该技术主要通过move_uploaded_file()函数来实现,其中还应用到is_dir()、mkdir()函数,判断指定的文件夹是否存在和创建文件夹,还有mt_rand()、strstr()函数和$_FILES[]全局变量。为了更好地理解和掌握图片上传处理技术,这里以编程词典模块中的savebccd.php文件为例进行讲解。
首先应用is_dir()函数判断在服务器中是否存在指定的文件夹,如果不存在,则应用mkdir()函数创建一个新的文件夹。
然后应用$_FILES[]全局变量获取图片名,应用strstr()函数获取图片文件的后缀名,为了避免出现同名文件覆盖,这里应用系统的当前时间和mtrand()函数获取的一个7位随机数字作为图片的名称。
最后确定图片在服务器中存储的路径,将图片上传到指定的文件夹下。而数据库中存储的数据是图片在服务器中的路径,当需要输出图片时,只需要获取到数据库中图片的路径即可。savebccd.php文件的代码如下:
例程21 代码位置:资源包\TM\02\bcty365\admin\savebccd.php
代码贴士
❶is_dir():判断指定的文件夹是否存在,如果存在则返回true,否则返回false。
❷mkdir():创建一个新的文件夹。
❸mt_rand():根据提供的参数min和max生成随机数,如果没有提供可选参数min和max,则返回0到RAND_MAX之间的伪随机数。
strstr():获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。如果执行成功,则返回剩余字符串(存在相匹配的字符);如果没有找到相匹配的字符,则返回false。
$_FILES[]:全局变量,获取所有上传文件的信息。该全局变量还可以获取到其他的值,其中$_FILES['imageaddress']['name']获取的是客户端机器文件的原名称;$_FILES['imageaddress']['size']获取已上传文件的大小,单位为字节;$_FILES['imageaddress']['tmp_name']获取文件被上传后在服务端存储的临时文件名;$_FILES['imageaddress']['error']获取和该文件上传相关的错误代码。
❹move_uploaded_file(string filename,string destination):应用POST方法实现文件的上传,参数filename指定要上传的文件地址;参数destination指定文件上传到服务器后的存储目录及名称。
注意
应用POST方法上传图片文件时,应当在上传表单的<form>标记中添加内容“enctype="multipart/form-data"”。
2.13.3 添加编程词典的实现过程
添加编程词典使用的数据表:tb_bccd、tb_type
添加编程词典的功能是向数据库中添加编程词典的详细信息,包括编程词典的名称、版权、图片、类别、内容简介和不同版本的共同点。其运行结果如图2.42所示。
图2.42 添加编程词典模块的运行结果
添加编程词典信息模块主要通过addbccd.php和savebccd.php文件来完成,其中在addbccd.php文件中主要是设计表单元素,而savebccd.php文件主要是对表单中提交的数据进行处理。addbccd.php文件中使用的表单元素如表2.11所示。
表2.11 添加编程词典页中使用的重要表单元素
savebccd.php文件实现对表单中提交的数据进行处理,首先通过$_POST获取表单中提交的数据,然后判断指定的文件夹是否存在,最后将数据存储到指定的数据表中。关键代码如下:
例程22 代码位置:资源包\TM\02\bcty365\admin\savebccd.php
代码贴士
❶is_dir():判断指定的文件是否存在。
❷mkdir():创建一个新的文件夹。
❸mt_rand():获取随机数字。
strstr():获取一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。如果执行成功,则返回剩余字符串(存在相匹配的字符);如果没有找到相匹配的字符,则返回false。
2.13.4 编辑编程词典的实现过程
编辑编程词典使用的数据表:tb_bccd、tb_bb、tb_bbqb
在完成对编程词典信息的添加后,接下来就可以对编程词典的版本信息进行编辑,主要添加版本信息、价格、简介、功能和推出的服务。该模块的运行结果如图2.43所示。
图2.43 编辑编程词典模块的运行结果
该功能的实现同样通过两个文件:一个是提交表单的文件editbccd.php;另一个是处理表单提交数据的文件sacvbccdbb.php。提交表单文件editbccd.php中使用的表单元素如表2.12所示。
表2.12 编辑编程词典页中使用的重要表单元素
sacvbccdbb.php文件对表单提交的数据进行处理,首先获取表单中提交的数据,然后判断指定的版本是否已经被添加,最后将数据存储到指定的数据表中。代码如下:
例程23 代码位置:资源包\TM\02\bcty365\admin\savebccdbb.php