《基于WEB的视频点播系统设计_计算机网络课程设计报告》Word格式.docx
- 文档编号:939481
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:37
- 大小:2.33MB
《基于WEB的视频点播系统设计_计算机网络课程设计报告》Word格式.docx
《《基于WEB的视频点播系统设计_计算机网络课程设计报告》Word格式.docx》由会员分享,可在线阅读,更多相关《《基于WEB的视频点播系统设计_计算机网络课程设计报告》Word格式.docx(37页珍藏版)》请在冰点文库上搜索。
4.11局域网连接服务器测试 33
5课程设计总结 34
5.1问题与收获 34
5.2课程设计感悟 34
6参考文献 36
附录 36
1需求分析
1.1开发背景
视频点播VOD(VideoonDemand)出现的最初动力是人们对广播电视的更高需求。
在传统的电视中,观众完全是被动的。
节目提供者播放什么节目,观众就只能观看什么节目,节目的播放时间也是无法按照观众的意愿改变的。
尽管电视台可以提供很多的节目,但要想完整地收看到一个自己满意的节目,对于许多人来讲也是不太容易做到的,因为在快节奏的现代生活中,许多人不可能为了看某一个电视节目而预先安排自己的时间,一些偶尔的突发事件还会打乱我们的预期计划。
我设计的这款系统是为了满足人们的需求,随时可以观看自己想看的影视作品,抛却之前的繁琐。
1.2设计目标
本设计要求完成一个视频点播系统。
采用B/S架构。
应该具有易用、美观的图形界面。
要求:
能够实现视频在线播放;
能够在本地建立缓存文件;
能实现节目管理,用户管理,节目查询等基本功能;
界面美观,使用方便。
1.3可行性分析
①技术可行性分析:
本系统采用AdobeDreamweaverCS6来进行系统构建,采用B/S架构,利用PHP+MySQL+Apache搭建服务器环境,可以很方便进行动态网站的开发。
通过学习HTML5+CSS3进行网页设计和界面优化,然后使用PHP来制作这个网站的动态内容,利用MySQL数据库进行后台数据管理,可以使得用户和系统进行更好的交互,而且易于管理,具有良好的技术可行性。
②经济可行性分析:
开发此软件是个人独立设计,不需要大量的经费,而且可以节省许多费用,同时也可提高个人的实际动手能力,具有经济可行性。
③法律可行性分析:
本系统模块等都由自己独立开发,不会出现侵犯版权等问题。
网站出于科研学习目的,运营合法,不存在不良资源,因此具有法律可行性。
④市场可行性分析:
本网站全面免费,后期管理和维护方便,可以推广使用,具有市场可行性。
3
1.4系统运行环境
系统开发环境:
PHP+MySQL+DreamweaverCS6
系统开发语言:
HTML5+CSS3+PHP数据库:
MySQL5.5.20
Web服务器:
Apache2.2.21
1.5功能分析
作为一个在线影视播放系统,它展示给浏览者的是各种视频信息,同时,系统需要能够实现对这些信息的有效管理。
对于浏览者和会员的功能而言叫做前台实现,对系统管理者身份的功能而言叫做后台实现,下面给出系统的前台和后台功能说明。
前台实现提供如下主要功能。
①影视展示功能:
在前台首页显示最新加入的影片信息,推荐的影片信息,热门影片信息,提供按各种不同的类别对电影信息进行展示。
②电影查询功能:
在任意搜索框浏览者输入电影名称关键字,可以查询到与之相关的电影信息,查询结果分页显示。
③电影在线观看:
使用网页播放器播放用户选择的影片。
后台实现,管理员实现对各种信息的管理,主要功能如下。
①电影信息管理:
管理员可以添加,修改,删除电影信息。
②电影分类信息管理:
管理员可以添加,修改,删除各个电影类目。
③会员信息管理:
管理员可以添加,修改,删除会员帐号信息。
1.6需求分析小结
通过需求分析报告,可以看出这个系统是完全可行的,也点明了开发这系统所需要的工具和技术。
最重要的是本系统可以提供的各种功能,方便了许多影视爱好者,明确了开发目标,有着一定的开发意义。
评论管理
视频管理
分类管理
用户管理
视频评论
观看视频
搜索视频
浏览视频
修改资料
用户注册
2概要设计
2.1系统总体功能设计
按系统的功能需求分析可得,将系统分成两个大模块:
用户功能模块和管理员功能模块。
用户功能模块包括:
用户注册,修改资料,浏览视频,搜索视频,观看视频和视频评论;
管理员功能模块包括:
视频管理,视频分类管理,会员信息管理和评论管理。
根据系统功能模块设计,系统整个功能结构图如下:
管理员功能
用户功能
在线视频点
播系统
修改
删除
添加
按名字搜索
按演员搜索
按导演搜素
图2.1系统功能结构图
用户功能模块主要是描述了作为一个普通用户能够在该在线视频点播系统中能够做的一些操作:
注册,搜索,观看等。
管理员功能模块主要是对用户,视频的基本信息进行添加,删除和修改。
此外还能添加,修改视频的分类。
对于一些不符合法律法规的评论则要进行删除,保持网站的绿色合法。
5
2.2系统的E-R图
用户是在线视频点播系统的使用者,是在线视频点播系统的重要组成部分因此需要创建一个用户实体,用于存储用户的详细信息,如下图所示:
图2.2用户信息图
在线视频点播系统的主干是视频,是该系统密不可分的部分,因此创建一个视频信息实体,用于保存节目的详细信息:
图2.3视频信息图
在线视频点播系统的流程是用户登录网站若用户名不存在,则需先注册用户信息,注册完用户信息后,用户输入自己的账号及密码登录系统,在用户登录成功后系统根据登录的帐号信息与数据库表中的数据进行对比判断是普通用户是否存在,如果存在,用户可以在线浏览网站提供的信息以及视频内容,可
以根据自己的喜好搜索视频,用户在点击视频后,系统会显示视频的详细信息,用户可以点击收看该视频。
此外,用户可以在线修改自己的账号信息。
如果管理员登录,管理员需要对网站的节目信息进行管理,及时修改和删除已经过时的视频内容,以及发布新的视频供用户观看,系统会将最新发布的视频信息添加到数据库视频信息表中。
如下图所示:
图2.4系统E-R图
2.3数据库设计
数据库设计(几个主要的表单):
用户信息表(Users)
字段名称
数据类型
说明
uid
自动编号
ID标识符,自动增加
UserName
文本
用户名
password
密码
regtime
日期/时间
注册时间
sex
性别
Type
数字
用户类型(0为管理员)
Tele
电话
视频分类表(VideoType)
vtid
Class
电影类别名称
LISTIMG
列表图片地址
7
电影信息表(videos)
fid
Path
路径
FilmName
影片名称
Director
导演
Player
主演
类型
filmcover
电影封面
filmpic
电影剧照
film-gut
视频简介
Join-time
加入日期
表2.1数据库表单设计
查看新闻公告
视频评论
视频下载
视频点播
视频搜索
新闻管理
公告管理
视频管理
用户管理
3详细设计
3.1系统流程图
系统功能实现部分主要是对整个系统的实现进行描述。
其中包括系统运行环境,系统后台,前台的功能实现等。
是否合法
是
选择操作
管理员注销
用户注销
显示前台
显示后台
用户登录
管理员登录
开始
结束
9
3.2主要功能的实现
3.2.1数据库实现
使用NavicatforMySQL对MySQL数据库进行实现。
具体步骤为:
1)建立本地连接
2)新建数据库
数据库名为wlks,字符集选择utf-8,排序规则为utf8_general_ci。
3)在wlks数据库中新建3个表。
建好后的3个表如下:
11
4)在表中插入几条测试用数据
3.2.2界面设计实现
3.2.2.1主界面
用户主界面,用户通过该界面,登录网站,实现影片浏览、播放功能。
图3.2.1主界面设计
图3.2.2主界面效果
主页的设计难点在于滚动展示的电影横幅怎样显示。
经过长时间的探索,最终使用
JavaScript实现了每3秒切换一个图片,图片附带链接,用户点击之后可以直接跳转到播放界面。
主要代码如下:
<
scripttype="
text/javascript"
>
$(function(){
$("
.flashBanner"
).each(function(){vartimer;
.flashBanner.maskimg"
).click(function(){
13
varindex=$("
).index($(this));
changeImg(index);
}).eq(0).click();
$(this).find("
.mask"
).animate({"
bottom"
:
"
0"
},700);
).hover(function(){clearInterval(timer);
},function(){
timer=setInterval(function(){
varshow=$("
.flashBanner.maskimg.show"
).index();
if(show>
=$("
).length-1)
show=0;
else
show++;
});
changeImg(show);
},3000);
functionchangeImg(index)
{
.flashBanner .mask
img"
).removeClass("
show"
).eq(index).addClass("
);
.flashBanner .bigImg"
).parents("
a"
).attr("
href"
$("
.flashBanner .maskimg"
).eq(index).attr("
link"
));
).hide().attr("
src"
uri"
)).fadeIn("
slow"
}
/script>
显示效果如下:
3.2.3横幅切换显示效果
3.2.2.2用户注册
用户先注册,然后就可以用注册的账号和密码进行登录。
注册的时候,系统会自动检测该用户名是否已经被注册过了,当用户名已存在会提示你更换一个新的用户名;
用户所输入的注册信息必须符合一定的规则,如违反这些规则会提示用户重新输入正确的注册信息。
3.2.4用户注册界面
注册界面主要通过HTML的表单实现,对每个表单输入框的输入内容用PHP进行检查。
电子邮箱信息通过正则表达式进行验证。
PHP代码如下:
//注册信息判断
if(!
preg_match('
/^[\w\x80-\xff]{3,15}$/'
$username)){
exit('
错误:
用户名不符合规定。
ahref="
javascript:
history.back(-1);
返回<
/a>
'
if(strlen($password)<
6){
密码长度太短。
请设置6位以上密码。
history.back(-
1);
//验证邮箱格式正则表达式
if (ereg("
/^[a-z]([a-z0-9]*[-_\.]?
[a-z0-9]+)*@([a-z0-9]*[-_]?
[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?
$/i;
"
$email)){
电子邮箱格式错误。
15
当注册成功后,在数据库的用户信息表中产生一条新的用户记录。
3.2.2.3用户登录
用户登录界面实现用户登录功能,并应能在一段时间内保留用户ID等登录信息使用户在浏览本网站其他网页的过程中,不致丢失用户信息需要再次重新登录。
为实现这个功能,需要利用PHP的Session机制。
当每个用户访问web,PHP的session初始化函数都会给当前来访用户分配一个唯一的sessionID。
并且在session生命周期结束的时候,将用户在此周期产生的session数据持久到session文件中。
用户再次访问的时候,
session初始化函数,又会从session文件中读取session数据,开始新的session生命周期。
本网站建设中主要运用了以下几个PHP函数。
1.session_start()
函数session_start会初始化session,也标识着session生命周期的开始。
要使用session,必须初始化一个session环境。
有点类似于OOP概念中调用构造函数构创建对象实例一样。
session初始化操作,声明一个全局数组$_SESSION,映射寄存在内存的session数据。
如果session文件已经存在,并且保存有session数据,session_start()则会读取session数据,填入$_SESSION中,开始一个新的session生命周期。
2.$_SESSION
它是一个全局变量,类型是Array,映射了session生命周期的session数据,寄存在内存中。
在session初始化的时候,从session文件中读取数据,填入该变量中。
在session生命周期结束时,将$_SESSION数据写回session文件。
3.session_register()
在session生命周期内,使用全局变量名称将注全局变量注册到当前session中。
所谓注册,就是将变量填入$_SESSION中,值为NULL。
它不会对session文件进行任何IO操作,只是影响$_SESSION变量。
注意,它的正确写法是session_register(‘varname’),而不是session_register($varname)
4.session_unregister()
与session_register操作正好相反,即在session生命周期,从当前session注销指定变量。
同样只影响$_SESSION,并不进行任何IO操作。
5.session_unset()
在session生命周期,从当前session中注销全部session数据,让$_SESSION成为一个空数组。
它与unset($_SESSION)的区别在于:
unset直接删除$_SESSION变量,释放内存资源;
另一个区别在于,session_unset()仅在session生命周期能够操作$_SESSION数组,而unset()则在整个页面(page)生命周期都能操作$_SESSION数组。
session_unset()同样不进行任何IO操
作,只影响$_SESSION数组。
6.session_destroy()
如果说session_start()初始化一个session的话,而它则注销一个session。
意味着
session生命周期结束了。
在session生命周期结整后,session_register, session_unset,
session_register都将不能操作$_SESSION数组,而$_SESSION数组依然可以被unset()等函数操作。
这时,session意味着是未定义的,而$_SESSION依然是一个全局变量,他们脱离了关映射关系。
通过session_destroy()注销session,除了结束session生命周期外,它还会删除sesion文件,但不会影响当前$_SESSION变量。
即它会产生一个IO操作。
了解了PHP的session机制和函数变量用法后,再对用户登录功能进行实现。
登录主界面如下:
3.2.5用户登录界面
当用户打开这个界面时,即建立一个session并链接用户数据库。
require_once('
Connections/webconn.php'
if(!
isset($_SESSION)){
session_start();
当用户输入完毕点击“确定”提交输入结果后,PHP对用户输入数据进行检查然后在数据库中查找匹配的结果。
若查找成功就显示登录成功并返回主页,若查找失败则提示相应错误信息并返回登录界面。
当查找成功后,用户的信息(用户名)要保存在session的全局变量
$_SESSION['
MM_Username'
]中,当打开其他网页时,重新运行session_start();
即可刷新session并调用已经保存的$_SESSION['
]变量。
登录成功后,主页的用户信息区显示为:
代码如下:
articleclass="
userSec"
?
php
//登录
if(isset($_SESSION['
])){
echo"
欢迎您,"
.$_SESSION['
];
17
&
nbsp
login2.php?
action=logout"
注销<
}else{//未登录
action=login"
登录<
reg.html"
注册<
/article>
3.2.2.4用户信息修改
为了注册的便捷,用户在注册时需要输入的仅有用户名、密码和邮箱,为了能让用户能完善自己的个人信息,必须要设计一个信息完善和更改的界面。
界面设计如下:
上方栏位用于用户输入新的信息,下方栏位可以显示用户数据库中保存的用户信息。
由于用户输入的信息是动态的,所以网页也是动态的。
一旦用户提交成功,下方栏位
就会显示修改后的用户信息。
修改前:
修改后:
3.2.2.5管理员界面
管理员登录界面与用户登录界面相同,管理员填写用户名和密码,点击“登录”,系统验证用户名和密码是否正确,并验证用户类型是否为管理员,正确则显示“系统验证成功”,进入后台管理页面。
若用户非管理员或密码不对,系统显示错误。
管理员登录对后台进行管理,主要可以对用户进行信息更新和删除。
19
查看用户信息的主要难点是分页显示。
不过Dreamweaver提供了工具条,可以方便地对记录进行分页。
3.2.2.6电影分类显示
为了用户更方便地浏览网站资源,将电影分类显示有助于提高网站的交互性和友好性。
为实现分类显示,将电影简单地分为国产电影和外国电影,后期也可添加更多分类。
该功能主要通过PHP操纵MySQL实现。
主要PHP代码为:
if(!
isset($_SESSION)){session_start();
mysql_select_db($database_webconn,$webconn);
$query_Rsv3='
SELECT*FROMvideoswhereCLASS="
国产电影"
;
mysql_query("
setnamesutf8"
$Rsv3=mysql_query($query_Rsv3,$webconn)ordie(mysql_error());
$totalRows_Rsv3=mysql
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于WEB的视频点播系统设计_计算机网络课程设计报告 基于 WEB 视频点播 系统 设计 计算机网络 课程设计 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)