资讯与帮助
基于B/S架构的视频点播网站设计系统


目录


一、需求剖析...5


1、标题请求...5


2、开发背景...5


3、可行性剖析...5


4、系统运转环境...6


二、总体设计...6


1、用户功用模块...6


2、效劳器局部...6


3、系统功用构造...7


4、数据库设计...7


三、功用设计...9


1、系统流程图...9


2、主要功用的完成...10


(1)播放系统首页的设计...10


(2)完成视频在线播放...11


(3)用户身份考证...13


(4)管理员功用:完成节目的上传、删除...16


四、调试与测试...20


五、测试结果...24


六、课程设计过程的总结、心得领会...24


 


 


 


一、需求剖析

1、标题请求

本设计请求完成一个视频点播系统。采用B/S架构。应该具有易用、美观的图形界面。


客户端功用请求:


(1)可以完成视频在线播放;


(2)完成节目查询,记载用户播放记载。


(3)能完成视频节目评价系统。


效劳器端:


(1)对节目分类停止管理


(2) 能完成视频节目的上传,修正和删除。


(3) 能完成用户身份的考证。


(4)完成节目的评价计分系统。


2、开发背景

视频点播VOD(Video on Demand)呈现的最初动力是人们对播送电视的更高需求。在传统的电视中,观众完整是被动的。节目提供者播放什么节目,观众就只能观看什么节目,节目的播放时间也是无法依照观众的意愿改动的。虽然电视台能够提供很多的节目,但要想完好地收看到一个本人称心的节目,关于许多人来讲也是不太容易做到的,由于在快节拍的现代生活中,许多人不可能为了看某一个电视节目而预先布置本人的时间,一些偶然的突发事情还会打乱我们的预期方案。我设计的这款系统是为了满足人们的需求,随时能够观看本人想看的影视作品,抛却之前的繁琐。


 


3、可行性剖析

①技术可行性剖析:本系统采用AdobeDreamweaver CS6来停止系统构建,采用B/S架构,应用PHP+MySQL+Apache搭建效劳器环境,能够很便当停止动态网站的开发。经过学习HTML5+CSS3停止网页设计和界面优化,然后运用PHP来制造这个网站的动态内容,应用MySQL数据库停止后台数据管理,能够使得用户和系统停止更好的交互,而且易于管理,具有良好的技术可行性。


②经济可行性剖析:开发此软件是个人独立设计,不需求大量的经费,而且能够俭省许多费用,同时也可进步个人的实践入手才能,具有经济可行性。


③法律可行性剖析:本系统模块等都由本人独立开发,不会呈现进犯版权等问题。网站出于科研学习目的,运营合法,不存在不良资源,因而具有法律可行性。


④市场可行性剖析:本网站全面免费,后期管理和维护便当,能够推行运用,具有市场可行性。


 


4、系统运转环境

系统开发环境:PHP+MYSQL+APACHE+Hbuilder


系统开发言语:HTML5+CSS3+PHP+PHPMYADMIN


数据库:MYSQL 5.5.20


WEB效劳器:Apache2.2.21


二、总体设计

本次视频点播系统基于B/S架构,所以总体设计能够分为阅读器、客户端局部和效劳器端局部。从功用上分类来说,用户功用模块和管理员功用模块。


1、用户功用模块

用户注册,用户登录,阅读视频,搜索视频,观看视频和视频评论,查看播放记载;


 


2、效劳器局部

视频管理,视频分类管理,视频节目上传,修正,删除,用户身份考证,节目的评价计分。


3、系统功用构造

系统功用构造图


4、数据库设计

 本次数据库名为video,数据库下面创立了四个表,构造如下图:


四个表的构造如下:


 


用户信息表(Users)


字段称号


数据类型


阐明


uid


自动编号


ID标识符,自动增加


UserName


文本


用户名


password


文本


密码


regtime


日期/时间


注册时间


sex


文本


性别


Type


数字


用户类型(0为管理员)


Tele


文本


电话


Email


文本


E-mail


 


电影信息表(videos)


字段称号


数据类型


阐明


fid


自动编号


ID标识符,自动增加


filepath


文本


途径


filename


文本


影片称号


director


文本


导演


player


文本


主演


class


文本


类型


filecover


文本


电影封面


file-gut


文本


视频简介


join-time


日期/时间


参加日期


 


视频评论表(video_comment)


字段称号


数据类型


阐明


uid


文本


用户id


fid


文本


视频id


username


文本


用户称号


filename


文本


电影名


comment_time


时间


评论时间


comment


文本


评论内容


观看电影记载表(video_history)


字段称号


数据类型


阐明


hid


文本


 观看id(自动增长)


username


文本


用户称号


filename


文本


电影名


date


时间


评论时间


 


三、功用设计

1、系统流程图

系统功用完成局部主要是对整个系统的完成停止描绘。其中包括系统运转环境,系统后台,前台的功用完成等。系统流程图如下:


 


 


 


2、主要功用的完成

(1)播放系统首页的设计

本功用主要是应用HTML5以及CSS5对网页停止设计及规划,这个过程较为简单,效果图如下:


显眼局部应用JavaScript技术对其完成图片轮播办法。


(2)完成视频在线播放

本功用完成较为就简单,经过HTML5+CSS5给播放网页做简单的规划之后,在网页中参加


但是做到这里还不是就能够完成点击首页的电影图片就能够跳转到播放界面然后播放相对应的视频。详细操作有:


①在首页(index.php)的图片添加目的地址:




   <divclass="am-gallery-item">


   <ahref="video_play.php?action=<?phpecho $data[4][2];?>">


           <imgsrc="Temp-images/picture2.jpg" alt="哈利波特"/>


            <h3class="am-gallery-title">哈利波特带你走进魔法世界!


     <divclass="am-gallery-desc">2375-09-26


   


   



标签外应用标签的href属性来完成点击图片,网页跳转到视频播放页面(video_play.php)同时应用action属性来停止两个php文件之间的数据传输。(可能论述的较为紊乱)video_play.php端获取首页传入的图片数据信息:


<divclass="contents">


     <videowidth="810"height="420"controls="controls">


        <sourcesrc="<?phpecho $_GET['action'];?>" type="video/mp4"/>


         



这样就能够完成两个页面之间的衔接了,但是两个php页面都还是衔接至数据库获取数据的。衔接至数据库的代码如下:


<?php


       header("Content-type:text/html; charset=utf-8");


       session_start();


       mysql_connect("localhost","root", "") or


        die("Could notconnect: ". mysql_error());


    mysql_select_db("video");


       $string=$_GET['action'];


   $str ="SELECT fid,filename,filepath,director,player,class,filecover,file_gut,join_timeFROM videos WHERE filepath= '$string'";


    $result =mysql_query($str);//执行SQL语句


    while($row = mysql_fetch_array($result,MYSQL_NUM)) {


          $data[]=$row;


  } 


?>


(3)用户身份考证

经过点击主页的注册、登录或者管理员登录界面按钮,跳转到登录注册界面,由于上述三种状况差不多,这里以考证登录为例,登录注册页面(login.html)如下:


页面由HTML5+CSS5编写规划,中心局部是登录注册信息框中的内容,两个输入信息框和两个按钮,这都是在一个表单中,经过点击登录按钮,将表单数据提交至指定的php处置,代码如下:


<formid="login"action="login.php"name="forms"method="post">


       

用户登录注册


              <divid="inputs">


<inputid="username"type="text"placeholder="Username"name="username"autofocus required= />


<inputid="password"type="password"placeholder="Password"name="password"required/>


       


<divid="actions">


<inputtype="submit"id="submit1"value="登录"name="login"/>


<inputtype="submit"id="submit2"value="我要注册"name="register"/>




这里讲表单数据提交至login.php来处置,php完成的是衔接至数据库,在数据库中的用户信息表(user表)停止匹配搜索,假如有匹配到的用户信息,则准许登录。假如没有则提示登录失败,重新尝试!


Login.php代码如下:


<?php


       header("Content-type:text/html; charset=utf-8");


       $username=$_POST['username'];


       $password=$_POST['password'];


       $login=$_POST['login'];


       //$register=$_POST['register'];


       session_start();


       $_SESSION['username']=$username;


       $_SESSION['password']=$password;


       //包含数据库衔接文件 


       $connection=mysql_connect("localhost","root","");


       //echo "$connection";


       mysql_select_db("video",$connection);


       //检测用户名及密码能否正确 


       $check_query =mysql_query("selectuid from users where username='$username' and password='$password' limit 1"); 


       if($result= mysql_fetch_array($check_query)){ 


           $_SESSION['username'] =$username; 


           $_SESSION['uid'] =$result['uid']; 


   


                  echo "";


                  echo" ";


           exit; 


       } else{ 


           exit('登录失败!点击此处 返回 重试'); 


       } 


?>


(4)管理员功用:完成节目的上传、删除

经过主页管理员登录之后进入管理员页面(server.php),效果图如下:


这里主要引见视频的上传,另外的视频删除和视频资源修正在原理上是类似的,这里就不赘述。资源上传的页面如下:


完成代码如下:


<divclass="upload-filecover"style="margin:100px00350px;">


         

上传封面


          <formaction="upload_filecover.php"method="post"enctype="multipart/form-data">


                 <inputtype="file"name="file"value="选择封面"/>


                 


                 <inputtype="submit"value="上传封面"/>


         



<divclass="upload-video"style="margin:100px00350px;;">


       

上传视频


          <formaction="upload_video.php"method="post"enctype="multipart/form-data">


                 <inputname="myfile"value="选择视频"type="file"/>


                 


                 <inputtype="submit"value="上传视频"/>


         



同样是经过表单传输数据,应用upload_filecover.php和upload_video.php来完成将选中的视频封面和视频资源挪动到效劳器指定的文件夹中,并且经过衔接数据库执行insert SQL语句向数据库中插入视频资源的信息,从而能够在前台搜索到该视频的信息,数据库将该视频的相关信息(如视频封面途径和视频资源途径)传给播放页面,完成播放视频。详细完成代码如下:


<?php 


header("content-type:text/html;charset=utf-8"); 


//存储能够传送效劳器的文件类型 


$allowExts=array("rmbv","mp4","xlv"); 


//取出文件名用explode()和 从.处 分断字符串


$filepath="video/".$_FILES["myfile"]["name"];


$temp=explode(".",$_FILES["myfile"]["name"]); 


print_r($temp); 


//取出后缀名用end()里面是你的数组 


$filename=reset($temp);


if($_FILES["myfile"]["type"]=="video/mp4")//判别文件类型能否契合$allowExts数组的格式 


          {//判别图片的大小不能够超越1M 


   if($_FILES["myfile"]["error"]){//error大于0时表示错误信息,=0表示没有任何的错误 


        echo"error:".$_FILES["myfile"]["error"]; 


    }else{ 


        //判别同级目录中(./的意义同级目录)能否存在upload的文件夹 


      if(!is_dir("./upload/")){ 


          mkdir("./upload/"); 


      } 


        //判别在我们upload文件夹中能否有文件,假如有,中止上传,没有继续上传 


        if(file_exists("./upload/".$_FILES["myfile"]["name"])){ 


           echo"";


        }else{ 


            move_uploaded_file($_FILES["myfile"]["tmp_name"],"./video/".$_FILES["myfile"]["name"]);//将上传的文件从暂时文件途径挪动到指定途径 


            echo"";


        } 


    } 



              $connection=mysql_connect("localhost","root", "");


               //ordie("Could not connect: " . mysql_error());


   mysql_select_db("video",$connection);


    $str ="UPDATE  videos SET filepath='$filepath' where filename='$filename'";


    $result =mysql_query($str);


    echo$result;        


    if($result){


       echo "";


       }else{


              echo"";


       }


    mysql_close($connection);


    echo" ";


?>


 


本次课程设计任务请求中还有很多的任务请求,归根结底,其他的功用请求和上述功用中的某一个是类似的,所以这里没有逐个写下了。举个例子,完成节目查询,记载用户的播放视频记载,效劳器端对视频停止分类管理,这些根本上都是经过PHP衔接至数据库,执行查询SQL语句,然后将结果返回,功用相近,较为简单。


四、调试与测试

调试与测试局部,我将以截图的方式展现本次课程设计的大约过程:


首页:


登录:


登录胜利后:


右上角显现你已登录。点击注销,退回到未登录的首页。


点击用户中心查看本人的观看视频记载:


点击视频封面抵达视频观看界面,本页面能够观看视频,看到视频简介,看到他人的评论,并且能够本人发表评论,评论发表之后,本人的评论写入数据库:


评论胜利:


数据库添加了一条新评论:


管理员功用:首先在阅读器端搜索bbb视频,发现没有搜索到。


这时经过管理员视频上传功用将bbb视频上传上去:


登录进入管理员中心:


将bbb视频对应的封面和视频资源都上传上去:


上传胜利之后提示你:


查看数据库videos表中能否多了一条video记载:


回到阅读器端,搜索bbb,找到对应的视频:


点击图片跳转到播放界面并能够播放:


 


五、测试结果

经过上面一步的调试与测试,本次课程设计根本上完成了请求的一切功用,测试无误!


六、课程设计过程的总结、心得领会

本次课程设计大约有一个多月,经过一个多月的学习,我真的学会了很多很多,从最初大胆的选这个课设标题,一点都不懂的状况下,在同窗的晓得协助下,渐渐的学习HTML,PHP,JavaScript,根本上搞懂了他们都是用来干嘛的,并且控制了他们的根本应用,完成了本次课设。能够说真的来之不易,自我觉得还是较为称心的,固然课程设计中存在很多的缺点,但是大致上是能够看得。从这次课程设计中,我领会到一点,没有什么问题是本人不能处理的,只需我们肯努力,肯研究,肯定能够处理搅扰我们的 ,而且,经过努力处理问题的那种觉得是特别爽的。总结一下,今后我将继续学习相关学问,并且运用本次收获的东西到其他的方面,感激教师和同窗的协助!



售前咨询热线

13250046679

客服QQ咨询

联系客服微信

扫描添加客服微信

咨询热线:13250046679  QQ:1239665669  邮箱:1239665669@qq.com

©2015 魅思网络科技有限公司.All Rights Reserved.MSVOD视频系统 粤ICP备16122284号-3

13250046679