1、单位代码 密 级 公开 学 号学 士 学 位 论 文基于 PHP 的文件发布及管理系统 论文作者: 指导教师: 学科专业: 信息与计算科学提交论文日期:2010 年 5 月 6 日 论文答辩日期:2010 年 5 月 19 日 学位授予单位: 中 国 xx2010 年 5 月计算机学院毕业论文(设计) 目录I目 录1 前言 .11.1 选题目的和意义 .11.2 研究现状和研究内容 .11.2.1 研究现状 11.2.2 研究内容 11.3 所用 PHP 开发技术简介 21.3.1 数据库访问技术 .21.3.2 B/S 模式 .22 系统分析 .32.1 可行性分析 .32.1.1 经济的可
2、行性 .32.1.2 技术上的可行性 .32.1.3 总结 .32.2 系统需求分析 .32.2.1 基本功能需求 .32.2.2 用户界面需求 .42.2.4 系统安全性 .42.2.5 数据库选择 .42.2.6 开发环境 .43 系统详细设计 .53.1 系统结构框架图,如图 3.1 所示: .53.1.1 系统登录模块实现功能 53.1.2 人员管理模块实现功能 .63.1.3 目录管理模块实现功能 63.1.4 文件管理模块实现功能 63.1.5 类别管理 .63.1.6 站内信息管理 .63.2 系统 E-R 图 73.3 数据库设计表 .93.4 具体模块设计 .113.4.1
3、系统登录界面实现 113.4.2 人员管理实现 133.4.3 目录管理模块实现功能 163.4.4 文件管理模块实现功能 173.4.5 类别管理 183.4.5 站内信息管理 19计算机学院毕业论文(设计) 目录II4 编码、实现与测试 .204.1 数据库连接 .204.2 系统实现 .204.3 系统测试 .224.3.1 系统测试的目的 .224.3.2 系统的测试环境 .235 总结 .24致 谢 .25参考文献 .26计算机学院毕业论文(设计) 目录II基于 PHP 的文件发布及管理系统信息与计算科学 梁巨红指导教师 马新强中文摘要摘要:随着计算机及网络技术的飞速发展,企业文件管
4、理信息化网络化是必然的趋势利用计算机和网络技术来进行文件管理,具有以下优势:利于实现数据信息的共享,减轻管理员的工作负荷,使文件管理更科学更规范更安全因此,设计一个安全的网络文件管理系统是十分必要的。系统采用 b/s 工作模式,使用 php5 技术和 mysql 数据库平台。主要功能如下:对于用户的文件实现文件上传、下载;在线重命名文件;删除、还原、彻底删除;以新建磁盘和文件夹的方式对文件进行分类管理。关键词:PHP; Mysql;文件发布;文件管理2006 级计算机科学与技术专业毕业论文(设计) IIIIPHP-based document publishing and management
5、 systemMajor: Information and Computing Science Author: Liang Juhong Supervisor: Ma XinqiangAbstract:With the computer and the rapid development of network technology, enterprise document management information network is inevitable use of computer and network technologies for document management, h
6、as the following advantages: conducive to the sharing of data, reduce the workload of the administrator, so that document management safer and more scientific and standardized, therefore, to design a secure network file management system is necessary.System uses b / s mode, use php5 and mysql databa
7、se platform technology. Major functions: implementation file for the users file upload, download; online rename files; delete, restore, completely removed; to create a new folder on the disk and the way the file classification management.Keywords:PHP; File Release;Document Management; Mysql2006 级计算机
8、科学与技术专业毕业论文(设计) 11 前言1.1 选题目的和意义随着计算机及网络技术的飞速发展,文件管理信息化、网络化是必然的趋势,利用计算机和网络技术来进行文件管理具有以下优势:利于实现数据信息的共享,减轻管理员的工作负荷,使文件管理更科学、更规范、更安全。在当前的信息化时代中,任何机构、个人,都需要一个实用的网络文件管理系统来规范文件管理,这将会大大提高需求者的管理水平,优化资源,实现效益的最大化。因此,将文件管理系统作为本次毕业设计课题是非常有意义,具有研究的价值。1.2 研究现状和研究内容 1.2.1 研究现状目前,国内外文件管理一般采用三种方法:一种是将文件存在个人电脑硬盘上;一种是
9、将文件存放在易携带的移动存储器介质上面,最后一种则存放到网络服务器上的个人目录内。前两种方法都有共同的和各自的弊端:共同的弊端是共享度不够,再这一个信息时代数据不能够及时和最大程序的共享是一个件可悲的数据,很可能会导致自己的信息落后于别人;各自的弊端,虽然移动存储器介质方便携带但速度慢、容量小、易损坏;第一种方法虽然解决了软盘容量小、容易坏的问题但是不便于携带。现在国内外也有很多文件管理系统,采用的技术也是多种多样,如基于JSP、ASP 、 FTP 模式,但大多数文件管理系统主要用于个人资源的存放。至于一个大型机构内的文件管理,利用文件管理系统组织管理的并不多。针对国内外对文件管理系统的巨大需
10、求和基本要求,一个好的文件管理系统,必须要功能齐全,操作简便,向用户展示友善的操作界面。在完善功能的同时又必须兼顾系统的灵活性,安全性,健壮性。一个好的文件管理系统,不管是计算机专业人员还是其他用户都能很快上手,操作简便,便于安装,容易普及。1.2.2 研究内容系统采用微软的 Windows2003 作为开发平台,采用 dreamweaver8 作为开发工具,采用 MySQL 作为数据库开发工具。使用 apache_2.2.8-win32 作为服务器,实现基于PHP 的文件发布及管理系统的登录与退出、目录管理、文件上传下载、文件管理等功能。梁巨红:基于 PHP 的文件发布及管理系统21.3 所
11、用 php 开发技术简介 1.3.1 数据库访问技术采用 php 下的 mysql 函数连接 mysql 和操作 mysql,dreamweaver8 下的 mysql 辅助开发工具:【navicat8lite_mysql_cs】 【phpMyAdmin】1.3.2 B/S 模式B/S 结构即浏览器和服务器结构。它是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端( Server)实现,形成所谓三层 3-tier 结构。这样就大大简化了客
12、户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO) 。以目前的技术看,局域网建立 B/S 结构的网络应用,并通过 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。在 JAVA 这样的跨平台语言出现之后,B/S 架构管理软件更是方便、快捷、高效。2006 级计算机科学与技术专业毕业论文(设计) 32 系统分析2.
13、1 可行性分析2.1.1 经济的可行性主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,这个系统就可以运作起来。2.1.2 技术上的可行性技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求(如计算机的容量、速度等) 。此外,还要考虑开发人员的水平,做为一名有三年web 编程经验的学生,数据库设计方面对于我们应该还过得去,在计算机实验中心干了两年,对一般的管理系统都有一定的了解。该管理系统的编写,是比较好编写的,我想十几
14、天的时间就可以写出程序,然后再花上几天时间来调试。计划下学期就可以完全投入使用了。2.1.3 总结通过以上两点的分析,编写或开发这个宿舍管理系统是可行的,只要这个系统能实现对用户文件的上传、下载、分类、重命名、删除、还原、彻底删除就可以了。如果技术方面可行,可以加上文件搜索、站内好友、好友之间文件发送等,使系统功能更加完善,设计更加人性化。2.2 系统需求分析2.2.1 基本功能需求本课题要实现的是文件管理系统,在设计该系统时,应尽可能的贴近用户,便于用户操作。系统在实现上应该具有如下功能:1.系统要求用户必须输入正确的用户名和密码才能进入系统。2.系统应该提供用户的基本资料。3.系统应提供增
15、加、删除、修改用户帐户的功能。4.系统应具有添加、修改、删除用户基本信息的功能。5.系统应提供上传、下载、重命名、删除、还原的基本功能。梁巨红:基于 PHP 的文件发布及管理系统42.2.2 用户界面需求文件管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户对基本功能实现的操作提供方便。快捷按钮的创建也是非常重要的,以方便用户操作。2.2.4 系统安全性对于系统为方便用户管理文件而开发,便于统一管理,设一个超级用户,及几个普通用户(便于输入相关信息) 。在登录时,使用用户验证控件,来确认用户是否为合法用户,以保证信息安全。对用户密码进行多重加密码,及在 md5 加
16、密基础上进行再加密(别称“无敌加密” ) 。2.2.5 数据库选择由于用到的数据表格多,另外考虑到实际情况,用户基本信息的变动,文件信息的变化,还有 PHP 与数据库搭配关系,我们选用 mysql 作为数据库开发,而不用Access,主要是因为 Access 存放的记录,在实际运用中容易出错,导致相关信息丢失故不适合此系统。2.2.6 开发环境本系统是以 Windows 系统为操作平台,用 PHP 编程语言和 mysql 数据库来实现文件发布及管理系统所需的功能。2006 级计算机科学与技术专业毕业论文(设计) 53 系统详细设计3.1 系统结构框架图, 如图 3.1 所示:图 3.1 系统功
17、能模块图在整体设计中,我们将宿舍管理系统分为三个大的模块:系统设置模块、信息登记模块、信息查询模块。每个模块将实现不同的功能。下面将具体进行介绍。3.1.1 系统登录模块实现功能(1)系统用户的登录;梁巨红:基于 PHP 的文件发布及管理系统63.1.2 人员管理模块实现功能(1)添加管理员;(2)删除管理员;(3)查看管理员详情;(4)注册新用户;(5)修改个人信息;(6) 删除用户;(7) 查看个人信息;3.1.3 目录管理模块实现功能(1)查看目录;(2)添加目录;(3)删除目录;(4)重命名目录;3.1.4 文件管理模块实现功能(1) 上传文件;(2)下载文件;(3)重命名文件;(4)
18、删除文件;(5) 还原文件3.1.5 类别管理(1)查看分类;(2)添加分类;(3)删除分类;(4) 查看分类管理;3.1.6 站内信息管理(1)信息管理;(2)发送信息;2006 级计算机科学与技术专业毕业论文(设计) 73.2 系统 E-R 图在我所设计的模块中,主要涉及用户、管理员、文件、磁盘、文件夹、回收站、文件类别、站内消息这八个实体,所以在 E-R 图中我只是将这八个实体的属性进行了详细说明,如图 3.2 所示:实体之间关系的 E-R 图如图 3.1 所示图 3.1 实体之间 E-R 图普通用户信息表 E-R 图如图 3.2 所示图 3.2 普通用户信息表 E-R 图管理员信息表
19、E-R 图如图 3.3 所示梁巨红:基于 PHP 的文件发布及管理系统8图 3.3 管理员信息表 E-R 图磁盘信息表 E-R 图如图 3.4 所示图 3.4 磁盘信息表 E-R 图文件夹信息表 E-R 图如图 3.5 所示 图 3.5 文件夹信息表 E-R 图文件信息表 E-R 图如图 3.6 所示图 3.6 文件信息表 E-R 图回收站信息表 E-R 图如图 3.7 所示2006 级计算机科学与技术专业毕业论文(设计) 9图 3.7 回收站信息表 E-R 图站内信息表 E-R 图如图 3.8 所示图 3.8 站内信息表 E-R 图文件类别信息表 E-R 图如图 3.9 所示图 3.9 文件
20、类别信息表 E-R 图3.3 数据库设计表数据的概念结构设计完成之后,现在就可以将上面概念结构转化为数据库系统支持的实际数据模型,也就是数据库逻辑结构。该管理系统数据库中各个表的设计结果如表 3.1 到表 3.8 所示。每个表表示数据库中的一个表。(1)系统普通用户信息表,存储系统中用户的信息,如表 3.1 所示。表 3.1 用户信息表字段内容 字段名称 数据类型 长度 主外键 备注用户编号 user_id int 11 PK 自增用户名 user_name VarChar 20用户密码 user_pwd VarChar 50 Md5 加密用户性别 user_sex VarChar 20用户年
21、龄 user_age VarChar 20用户真实姓名 user_realname VarChar 20用户邮箱 user_email VarChar 50用户 QQ user_qq VarChar 20用户电话 user_phone VarChar 20用户地址 user_address VarChar 100梁巨红:基于 PHP 的文件发布及管理系统10用户邮编 user_postcode VarChar 10用户毕业学校 User_school VarChar 20用户注册时间 Reg_time VarChar 50(2)管理员信息表,系统中管理员的相关信息,如表 3.2 所示。表 3.
22、2 管理员信息表字段内容 字段名称 数据类型 长度 主外键 备注管理员编号 admin_id int 11 PK 自增管理员姓名 admin_name VarChar 20管理员密码 admin_pwd VarChar 20 Md5 加密管理员权限 admin_qx VarChar 20管理员邮箱 admin_email VarChar 30管理员真实姓名 admin_realname VarChar 20管理员性别 admin_sex VarChar 10管理员年龄 admin_age VarChar 10管理员电话 admin_phone VarChar 20管理员 QQ admin_qq
23、 VarChar 10管理员邮编 admin_postcode VarChar 10管理员国籍 admin_country VarChar 10管理员地址 admin_address VarChar 50管理员毕业学校 admin_school VarChar 20(3)磁盘信息表,如表 3.3 所示。表 3.3 磁盘信息表字段内容 字段名称 数据类型 长度 主外键 备注磁盘编号 dir_id int 11 PK 自增磁盘名称 dir_name VarChar 20磁盘描述 dir_ms VarChar 50磁盘创建时间 in_time VarChar 50(4)文件夹信息表,如表 3.4 所
24、示。表 3.4 文件夹信息表字段内容 字段名称 数据类型 长度 主外键 备注文件夹编号 folder_id int 11 PK 自增文件夹名称 folder_name VarChar 20文件夹描述 folder_ms VarChar 50文件夹创建时间 in_time VarChar 50磁盘名称 dir_name VarChar 20用户名 user_name VarChar 20(5)文件信息表,如表 3.5 所示。表 3.5 文件信息表字段内容 字段名称 数据类型 长度 主外键 备注文件编号 file_id int 11 PK 自增文件名称 file_name VarChar 20文件
25、大小 file_size VarChar 102006 级计算机科学与技术专业毕业论文(设计) 11上传时间 in_time VarChar 50文件标志 file_tag VarChar 10文件路径 file_path VarChar 50磁盘名称 dir_name VarChar 20文件夹名称 folder_name VarChar 20用户名 User_name VarChar 20(6)回收站信息表,如表 3.6 所示表 3.6 回收站信息表字段内容 字段名称 数据类型 长度 主外键 备注文件编号 file_id int 11 PK 自增文件名称 file_name VarChar
26、 20磁盘名称 dir_name VarChar 20文件夹名称 folder_name VarChar 20用户名 User_name VarChar 20(7)站内消息信息表,如表 3.7 所示表 3.7 站内消息信息表字段内容 字段名称 数据类型 长度 主外键 备注消息编号 message_id int 11 PK 自增消息内容 message VarChar 256收信人 haver VarChar 20发信人 sender VarChar 20表 3.8 类别信息表(8) 类别信息表,如表 3.8 所示字段内容 字段名称 数据类型 长度 主外键 备注类别编号 sort_id int
27、11 PK 自增类别名称 sort_name VarChar 20文件标志 file_tag int 43.4 具体模块设计3.4.1 系统登录界面实现用户在登录界面中输入用户名和密码,选择角色,并提交;系统确认用户输入的用户名和密码合法,以及选择的角色正确;系统则根据用户不同的角色显示不同的主页面。梁巨红:基于 PHP 的文件发布及管理系统12图 4.1 登录界面图登录验证用户的流程如图 4.2 所示。首先要获取的是输入的用户名和密码,然后到数据库中判断该用户名是否存在,如果存在,继续判断输入的密码和数据库对应的密码是否一致,满足这两个条件,即登录成功,弹出主窗体,界面如图 4.3 所示 。
28、图 4.2 登录流程图成功1.用户 ID2.用户密码3.用户角色欢迎页面2006 级计算机科学与技术专业毕业论文(设计) 13图 4.3 用户主窗体界面图图 4.4 管理员主窗体界面图3.4.2 人员管理实现此部分功能实现了普通用户的注册和各级别管理员的添加;管理员的添加只有超级管理才有此权限。此模块主要实现以下功能:显示当前用户姓名及角色,显示系统当前日期,超级管理员及普通管理员(添加管理员、删除管理员,查看人员详细信息,删除用户等) ,退出系统。(1) 普通用户注册页面如图 4.5 所示。梁巨红:基于 PHP 的文件发布及管理系统14图 4.4 普通用户注册主窗体界面图(2) 修改个人信息
29、显示页,如图 4.5 所示。图 4.5 修改个人信息界面图(3) 显示用户名及服务器当前时间,如图 4.6 所示。图 4.6 显示用户名及服务器当前时间界面图(4) 显示管理员信息,如图 4.7 所示。2006 级计算机科学与技术专业毕业论文(设计) 15图 4.7 显示管理员信息界面图(5) 删除管理员,如图 4.7 所示。(6) 显示用户信息,如图 4.8 所示。图 4.8 显示用户信息界面图(7) 删除用户,如图 4.8 所示。(8) 个人信息查看,如图 4.9 所示。图 4.9 查看个人信息界面图(9)添加管理员,如图 4.10 所示。梁巨红:基于 PHP 的文件发布及管理系统16图
30、4.10 添加管理员界面图(10) 查看和修改管理员个人信息如图 4.5 和图 4.9。3.4.3 目录管理模块实现功能该模块的功能主要是对磁盘和文件夹进行操作。(1) 新建磁盘 ,如图 4.11 所示:图 4.11 新建磁盘界面图(2) 磁盘显示 ,如图 4.12 所示:图 4.12 磁盘显示界面图(3) 重命名、删除磁盘,如图 4.12 所示。(4) 新建文件夹,如图 4.13。图 4.13 新建文件夹界面图(5) 文件夹显示,如图 4.14 所示。2006 级计算机科学与技术专业毕业论文(设计) 17图 4.14 文件夹显示界面图(6) 删除文件夹,如图 4.14 所示。3.4.4 文件
31、管理模块实现功能(1) 上传文件,如图 4.15 所示。图 4.15 文件上传界面图(2) 文件显示,如图 4.16 所示。图 4.16 文件显示界面图(3) 下载文件,如图 4.17图 4.17 文件下载界面图(4) 文件重命名,如图 4.18 所示。梁巨红:基于 PHP 的文件发布及管理系统18图 4.18 文件重命名界面图(5) 删除文件,如图 4.16 所示。(6) 回收站管理 (彻底删除文件和还原文件) ,如图 4.19 所示。图 4.19 回收站管理界面图(7) 发布共享文件,如图 4.15 所示。(8) 共享文件查看及下载,如图 4.16、4.17 所示。3.4.5 类别管理(1
32、)查看分类,如图4.20所示。图 4.20 查看类别界面图(2)添加分类,如图4.1所示。2006 级计算机科学与技术专业毕业论文(设计) 19图 4.21 添加类别界面图(3)删除分类、查看分类管理,如图4.20所示。3.4.5 站内信息管理(1)信息管理(包括查看信息、回复信息和删除信息) ,如图4.22所示。图 4.22 信息管理界面图(2)发送信息,如图4.23所示。图 4.23 发送消息界面图梁巨红:基于 PHP 的文件发布及管理系统204 编码、实现与测试4.1 数据库连接建立一个 conn.php 文件,用于连接数据库。4.2 系统实现系统实现的部分代码如下:(1) 用户登录部分
33、代码点击此处返回登陆页面“);if($role = 用户)$sql=“select * from lw_user where user_name = “.$uname.“and user_pwd = “.md5(crypt($upwd,substr($upwd,0,2).“;$result=mysql_query($sql,$conn);$rows = mysql_num_rows($result);2006 级计算机科学与技术专业毕业论文(设计) 21if($rows = 0 )exit(“对不起!未找到用户名 !点击此处返回登陆页面“);else$_SESSIONuname=$uname;
34、exit(“登录成功!点此处进入首页“);else$sql1 = “select * from lw_admin where admin_name = “.$uname.“ and admin_pwd = “.md5($upwd).“;$result1=mysql_query($sql1,$conn);$rows1 = mysql_num_rows($result1);if($rows1 = 0)exit(“对不起!用户名或者密码错误 !点击此处返回登陆页面“);else$_SESSIONuname=$uname;exit(“登录成功!点此处进入首页“);?(2) 新建磁盘关键代码(3) 新建文件夹关键代码(4) 上传文件关键代码alert(上传成功);window.close();“;?(5) 文件下载关键代码4.3 系统测试4.3.1 系统测试的目的一个程序并不可能达到十分完美,难免存在一些错误。如果不能及时将其找出并修改,会造成系统崩溃并造成不必要的损失。通过软件测试,尽可能多的找出系统中的错误,以便于及时修改。文件管理系统是对用户文件进行管理的系统,一旦系统无法运行,对用户的文件管理和使用带来很多的影响。所以通过软件测试手段,尽可能排