基于PHP的音乐网站后台管理系统设计与实现

目 录

摘 要 I
Abstract II
引 言 3
1 相关技术 5
1.1 PHP技术 5
1.2 MySQL技术 5
1.3ThinkPHP框架 5
1.4 Apache技术 6
1.5 本章小结 6
2系统分析 7
2.1 功能需求 7
2.2 用例分析 7
2.3系统可行性分析 9
2.4 本章小结 10
3 系统设计 11
3.1 总体设计 11
3.2 数据库设计 12
3.3 数据流图 15
3.4 本章小结 16
4 系统实现 17
4.1 开发环境 17
4.2 开发规范 17
4.3 核心功能 17
4.3.1 用户管理 17
4.3.2 歌手管理 19
4.3.3 歌曲管理 20
4.3.4 MV管理 21
4.4 本章小结 22
5 系统测试 23
5.1 功能测试 23
5.2 兼容性测试 23
5.3 压力测试 24
5.4 本章小结 25
结 论 26
参考文献 27
致 谢 29

摘 要

因为近年来网络科技发展极其迅速,网络带给我们的便利无处不在,我们可以足不出户的就可以实现网上订餐、购物,甚至可以从让新鲜蔬菜送货上门,这些网站以及服务的出现让大家可以方便快捷的享受生活,有更多的时间专注自己喜欢的事情。在这样的网络环境下,音乐网站近年来也在迅速发展,音乐也成为了我们日常生活中的重要组成部分,所以在这种发展趋势下,各类音乐网站也相继出现,当用户在网上冲浪时就可以享受到各种类型的音乐,而这些音乐是没有局限性的,甚至可以选择海外的流行音乐。正因为时代在进步科技在发展我们才可以做到这些,网络是不受时间空间限制的可以做到省时、省力,正因为这些原因音乐网站的兴起是必然的。
通过对各个音乐网站的调查了解,音乐网站后台管理系统选择用PHP语言进行开发,开发环境为phpstudy集成开发环境,使用ThinkPHP框架。数据库是使用MySQL数据库并使用B/S体系架构构造系统框架。功能分为前台和和后台两大模块,前台主要是展示音乐平台的音乐信息以及MV信息。后台主要作用就是管理功能,其中包括用户管理、歌手管理、歌曲管理、歌曲分类等功能。

关键词:网络便利; PHP语言; 网站管理; ThinkPHP

Abstract

Because network technology developed very quickly in recent years, Internet brings us the convenience of everywhere, we can never leave home can realize the online order a meal, shopping, can even from let in some fresh vegetables door-to-door delivery, these websites and services appear to let everyone can enjoy life convenient, have more time to focus on the thing that oneself like. In such a network environment, music website also is developing rapidly in recent years, music has become an important part in our daily life, so under this development tendency, all kinds of music web site appear one after another, when users surf the web can enjoy all kinds of music, and the music has no limitation, even can choose foreign pop music. It is because of the progress of The Times and the development of science and technology that we can do this. The Internet is not limited by time and space and can save time and effort. It is because of these reasons that the rise of music websites is inevitable.
Through the investigation and understanding of each music website, the background management system of music website chooses to develop with PHP language, the development environment is phpstudy integrated development environment, and the framework adopts ThinkPHP framework. Database is to use MySQL database and use B/S architecture to construct the system framework. The function is divided into the foreground and background two modules, the foreground is mainly to show the music platform music information and MV information. The main role of the background is the management function, which includes user management, singer management, song management, song classification and other functions.

Keywords: network convenience; PHP ;website background ; Think PHP

引 言

随着时代的发展,网络正在不断的改变人们的生活并且也改变了我们的生活习惯,让我们可以打破传统的生活方式、工作方式。使用网络可以让我们提高工作的效率,让沟通变得更加方便、高效,正因为办事效率的提升,这也让我们的业余时间变的更加丰富多彩。科技进步的同时,我们的生活需求也会有所改变,我们的生活品质会根据时代的进步而进步,同时互联网的发展也加快的各个行业的发展速度。
网络给了我们很多各式各样的资源,为我们创造了良好的网络环境。可以让我们自己去控制自己想要的,自己感兴趣的东西。在这种网络环境下,我们日常也会从互联网上下载格式各样的东西,比如新型的软件,爆火的视频以及我们喜欢的音乐。但是这些东西都是占用我们电脑的内存空间的,随着时间的推移下载的东西一定会越来越多,会对我们的管理以及电脑硬件产生影响,所以音乐网站可以实现在线试听,在线观看MV还可以和歌手交流的这样模式会显得非常的方便快捷,让所有的事情都可以在线上解决而不是下载到电脑中,这大大的节约了我们宝贵的时间,让时间可以用在我们更需要的地方来完成我们更需要做事情。
音乐平台的目的就是让用户更加方便快捷的找到自己喜欢的歌曲,还可以通过网站了解到关于歌手以及歌曲的信息,这些功能的产生也促进了音乐网站的改进与发展。网站应该从实际出发,从根本上满足用户的使用需要,根据不同用户的习惯发展功能的多样性,让这种便利可以推广到每一个有需要的用户手中。音乐平台是否可以满足用户需求是决定了音乐平台未来发展的最关键因素,会让用户留下极其深刻的印象,因此音乐网站的开发是非常必要的也是时代的需要。
本文的大体结构:
第1章关于使用技术的介绍,本章详细的介绍了系统的开发环境以及技术还有使用到的数据库以及框架[1]。
第2章是系统分析,本章主要是分析音乐网站后台管理系统的功能,并且以用例图的方式对功能进行分析和表达。
第3章是系统设计,主要内容是介绍系统的前后台功能的详细设计,还有数据库的设计以及分析[2]。
第4章是系统实现,介绍音乐后台管理系统的开发环境和工具配置,介绍核心功能并展示说明。
第5章是系统测试,系统测试部分主要是对主流浏览器的兼容性的测试和功能测试以及压力测试。
这一部分是对文章以及音乐网站后台管理系统的介绍,介绍了为什么要开发音乐网站后台管理系统,也介绍了音乐网站后台管理系统的创新性,认为系统跟随时代的发展变化而变化是关键所在,并且前景广阔。

1 相关技术

音乐网站后台管理系统使用PHP语言开发,使用MySQL数据库管理和储存数据,采用MVC分层方式,模型(model)-视图(view)-控制器(controller),系统采用了B/S的体系结构,完成了对音乐平台的设计与实现。
图1.1展示了MVC三层架构。
在这里插入图片描述

图1.1MVC三层架构图
1.1 PHP技术
PHP语言的中文名称是:超文本预处理器,是一种嵌入HTML的脚本语言,它使用方法简单,运行效率高是一种简单易学便于学习的服务器端的脚本语言。PHP的兼容性强大,可以对接很多主流的数据库,其中有MySQL、Oracle、InterBase、Sybase等。MySQL和PHP语言是非常契合的,他们可以进行跨平台的运行。PHP的是开源免费的,并且具有C语言、Java语言的特点方便学习且应用广泛,主要用于Web项目的开发。PHP语言执行速度快[3],而且提供了类和对象进行面向对象程序设计,还有良好的开放性和扩展性。
1.2 MySQL技术
MySQL是一个开源的免费的数据库管理系统。其占用的体积很小,执行命令的速度也很快,使用成本非常低,还有免费版本,开发项目适用于中小型网站的需求,所以用户群体非常多。数据库的核心线程是完全多线程的,支持多种处理器,本身的可移植性非常强,可以在Linux、Windouws等多种系统上运行。为多种语言提供了编程接口,包括了PHP、C++、Java等,因此很适合本系统的开发。
1.3ThinkPHP框架
ThinkPHP是一个基于MVC的以及面相对象的轻量级国产框架,更符合中国式的思维方式。他的主要特点是速度快并且兼容性好,支持多种服务器环境以及数据库系统。对于企业的中小型项目来说,配置过程简单易懂,创建骨架简单,可以方便快捷的控制和加入安全防护措施。功能强大使用方便快捷,可扩展性非常好,驱动扩展、类库扩展、驱动扩展、应用扩展等都支持。对于跨平台、跨数据库的数据移动都是非常轻便快捷的。ThinkPHP框架是有完整的中文版文档的,有详细的介绍,学者可以通过文档学习。参考并且融合了很多优秀框架技术,取其精华去其糟粕,值得我们了解和使用。
1.4 Apache技术
Apache是当今名列前茅的Web服务器,它最大的优势在于可以应用在所有的计算机系统中,它可以跨平台运行并且安全性非常好,所以是当今最受欢迎的Web吴服务器软件。Apache是完全免费的,而且支持的模块非常多,运行起来快速稳定安全,支持很多HTTP的认证方式。
1.5 本章小结
本章介绍的主要内容是音乐网站后台管理系统开发使用的有关技术以及环境,因为PHP开源免费且兼容性较好,MySQL也适合中小型项目的开发,服务器使用免费开源的Apache服务器,它可以即快速又稳定的跨平台运行,安全性是非常有保障的。B/S结构部署和维护简单快捷,扩展性强以及ThinkPHP框架开发出了系统,所以音乐网站后台管理系统使用效率高,维护更新快,可以跟上主流的趋势。

2系统分析

2.1 功能需求
音乐网站后台管理系统的首要目的就是可以使用户可以收听自己喜欢的音乐并且有良好的音乐体验,其次可以实现把自己喜欢的音乐收藏下来或者是保存到自己的歌单,保证用户的使用便利。系统功能主要分为两大模块,前台是是用于音乐和MV的观看,后台管理员进行各种管理操作。进入前台视听模块需要进行登录,没有帐号的用户可以进行注册,需要输入手机号和验证码完成注册然后登录。进入后可以进入个人中心对个人信息进行编辑和修改,也可以选择开通会员功能,修改自己的音乐平台昵称,添加自己的个性签名来展示自己,同时可以让自己申请成为音乐平台的签约歌手享受平台资源,发布歌曲,也可以享受前台音乐播放,MV播放等功能。后台功能主要包括网站管理、用户管理、歌手管理、歌曲管理、专辑管理、歌曲分类MV管理等功能,是一个完整的功能体系架构。
2.2 用例分析
绘制用例图来分析网站的整体功能,用例图是用来确定需求的范围的,
他的重要作用是表述用户和系统的关系,让开发的系统功能做到可视化,便于了解系统功能。利用用例图可视化系统的优势可以表达系统的功能以及优点。这样才可以让音乐网站后台管理系统的开发变的更加明确,让开发过程简单化,可以清晰的展示在用户的眼前,对系统的开发和设计都是有利的。
在这里插入图片描述

图2.1音乐网站后台管理系统的用例图
图2.1所示系统包括用户和管理员两大功能模块,可以清晰的看到用户和管理员使用到的功能分类和区别,用户可以除登录注册外执行收听歌曲,观看MV,查看歌曲分类,查看歌单,发表音乐评论,管理个人信息功能。管理员可以执行网站管理、用户管理、歌手管理、歌曲管理、歌单管理、歌曲分类、专辑管理、MV管理、评论管理以及用户可以执行的功能。
管理员可以进行用户的增加删除,查看用户详情以及禁用用户,歌手管理进行歌手的信息查看,歌手的ID、名称、图片、性别、签名以及收藏人数的修改还可以进行删除歌手操作。歌曲管理进行歌曲的信息查看,修改歌曲分类、专辑、名称、图片收藏人数。歌单管理可以查看歌单信息,对歌单的名称、介绍、封面进行修改和删除操作。
在这里插入图片描述

图2.2 用户功能用例图
图2.2所示是音乐后台管理系统用户功能用例图,把用户可以实现的功能直接展示在图中,可以了解各功能之间的关系,用户可以实现用例图中所有显示的功能。
用户在登录之后可以观看MV,收听歌曲,查看个人基本信息,发表歌曲评论,用户可以对喜欢的音乐收藏管理,还可以查看歌单,创建收藏自己喜欢的音乐歌单把歌曲添加进入歌单。假如用户由于某种需求需要修改个人密码,可以点击右上角个人中心进行密码的修改,同时也可以修改其它信息例如个性签名,用户的昵称并且可以充值成为平台VIP会员,还可以成为签约歌手在平台上发布个人音乐。
在这里插入图片描述

图2.3 管理员功能用例图
图2.3所示是音乐后台管理系统管理员功能用例图,把管理员可以实现的功能直接展示在图中,可以了解各功能之间的关系,管理员可以实现用例图中所有显示的功能,并且管理员可以控制实现用户所有的功能还可以管理用户,管理员权限最大。
2.3系统可行性分析
在市场可行性的角度分析,音乐网站后台管理系统的有点在于使用方便快捷,而且可以根据自己的需求修改功能,技术成本相对较低等。在音乐视听界面可以清晰地看到各个功能,用户可以轻松的找到自己喜欢的音乐一级MV,还可以收藏自己喜欢的音乐到自己的歌单,对喜欢的音乐进行在线评论,这些功能可以让使用音乐网站的用户有非常棒的使用体验,所以说音乐网站后台管理系统的前景非常可观。
在经济可行性的角度分析,音乐网站后台管理系统开发是PHP语言和MySQL的结合,系统的组成是完全开源的,是不需要复出任何费用的,简单易学且完全免费,所以音乐网站后台管理系统在经济的角度分析是完全没问题的。
在技术可行性的角度分析,音乐网站后台管理系统是基于PHP技术研发的,PHP目前最流行的编程语言之一,是开源不收取任何费用的,PHP的兼容性强,使用方便快捷,运用广泛,而且PHP语言拓展性极强,在数据库的应用当中可以调出各类数据,使用效率非常高,所以在技术方面PHP语言有相当大的优势。
2.4 本章小结
本章介绍内容主要是音乐网站后台管理系统需求分析情况,其中主要包括了功能需求以及用例分析还有系统的可行性分析,对系统有了大概的介绍,使用户和管理员功能都展现在眼前,让系统以后的开发升级维护都有了基础,对了解系统有了极大的帮助。

3 系统设计

3.1 总体设计
3.1.1 软件体系结构
音乐网站后台管理系统整体结构是最主流的B/S结构。B/S结构可以说是当下最适合Web开发的,是对之前技术的改进,是技术进步的体现。可以在任何时候进行网站的查询以及浏览。用户端使用系统的时候,在浏览器上就可以对音乐网站后台管理系统进行操作,通过浏览器就可以使用网站的全部功能,使用效率高,使用过程不繁琐,并且管理维护也相对简单,只需要改变网页就可以让系统的功能进行更新。结构如图3.1所示。
在这里插入图片描述

图3.1 系统B/S结构图
MVC是中文名字就是模型,视图,控制器。模型是用面相对象编程的方法来操作数据库,用于和数据库的交互。视图就是用户可以看到的界面,就是网页的界面或者是系统的界面,可以为系统处理很多视图,是一种输出数据还可以让用户操作方式,动态展示数据。控制器是接收用户的请求并且和模型视图进行交互,自己本身不做任何的数据处理,然后返回数据。这种模式增强了代码的扩展性和可移植性,也降低了不同功能模块代码之间的耦合,同时也减少了编码时间。
3.1.2 功能结构
如图3.2所示,音乐网站后台管理系统功能结构分布图,主要包括用户功能模块和管理员功能模块。管理员还可以增加删除,查看用户详情以及禁用用户,歌手管理进行歌手的信息查看,歌手的ID、名称、图片、性别、签名以及收藏人数的修改还可以进行删除歌手操作。歌曲管理进行歌曲的信息查看,修改歌曲分类、专辑、名称、图片收藏人数。歌单管理可以查看歌单信息,对歌单的名称、介绍、封面进行修改和删除操作。专辑管理可以快速导入专辑,还可以手动添加专辑,删除专辑,歌曲分类可以新增歌曲类型以及查看删除歌曲分类。MV管理可以查看MV,导入MV,删除MV。评论管理可以实现看到用户对歌曲进行的评价,并且可以删除评论,这些功能管理员都是可以全部实现的,而用户只可以注册登录使用用户部分的功能。
在这里插入图片描述

图3.2 系统功能结构图
3.2 数据库设计
在音乐网站后台管理系统的开发中使用的数据库是MySQL数据库,在项目的实现过程中,数据库的设计是至关重要的也是最关键的点之一,因为数据库直接关系到了项目的成功与否,可能数据库中的某一字段稍有疏忽就会导致出现问题,所以一定要把项目的基础打好才可以让项目可以顺顺利利的完成,让项目赢在起跑线上。运用E-R图来表示数据库中表与表之间的关系,可以让数据库中不同的表来实现可视化的目的,方便数据库的设计以及数据库的后续管理,音乐网站后台管理系统E-R图如图3.3所示。
在这里插入图片描述

图3.3 系统E-R图
音乐网站后台管理系统信息表,用来保存管理员信息。包括管理员编号,管理员用户名,管理员密码,管理员姓名,管理员等级5个字段[4],其中管理员编号为主键。如表3.1所示。
表3.1 管理员信息表
域名 数据类型 说明
admin_id int 管理员编号
admin_user varchar 管理员用户名
admin_pass varchar 管理员密码
admin_name varchar 管理员姓名
admin_level int 管理员等级

音乐网站后台管理系统信息表,用来保存歌手信息。包括歌手编号,歌手姓名,歌手图片,歌手性别,歌手签名,歌手收藏人数6个字段,其中歌手编号为主键。如表3.2所示。
表3.2 歌手信息表
域名 数据类型 说明
player_id int 歌手编号
player_name varchar 歌手姓名
player_pic varchar 歌手图片
player_sex int 歌手性别
player_sign text 歌手签名
player_collection int 歌手收藏人数
音乐网站后台管理系统信息表,用来保存专辑信息。包括专辑编号,专辑名称,专辑封面,专辑收藏人数,专辑发行时间,专辑介绍,专辑状态7个字段,其中专辑编号为主键。如表3.3所示。
表3.3 专辑信息表
域名 数据类型 说明
album_id int 专辑编号
album_name varchar 专辑名称
album_pic varchar 专辑封面
album_collection int 专辑收藏人数
album_time int 专辑发行时间
album_introduce text 专辑介绍
album_playerid int 专辑状态

音乐网站后台管理系统信息表,用来保存歌曲评论存评论信息。用户编号,歌曲编号,评论序号,评论时间,评论内容5个字段,其中用户编号为主键[5]。如表3.4所示。
表3.4 歌曲评论信息表
域名 数据类型 说明
id int 用户编号
song_id int 歌曲编号
content_id int 评论序号
time int 评论时间
content varchar 评论内容

音乐网站后台管理系统信息表,用来保存歌曲信息。包括歌曲编号,歌曲名称,歌曲类别,歌曲收藏人数,歌曲姓名,歌曲语言,歌曲下载人数,歌曲专辑8个字段,其中歌曲编号为主键。如表3.5所示。
表3.5 歌曲信息表
域名 数据类型 说明
song_id int 歌曲编号
song_name varchar 歌曲名称
song_type int 歌曲类别
song_pic varchar 专辑收藏人数
song_player varchar 歌手姓名
song_lang varchar 歌曲语言
song_download varchar 歌曲下载次数
song_album int 歌曲专辑

音乐网站后台管理系统信息表,用来保存用户信息。包括用户编号,用户姓名,用户密码,用户昵称,用户头像[6],用户签名人数6个字段,其中用户编号为主键。如表3.6所示。
表3.6 用户信息表
域名 数据类型 说明
user_id int 用户编号
user_name varchar 用户姓名
user_pass varchar 用户密码
user_nickname varchar 用户昵称
user_pic varchar 用户头像
user_sign varchar 用户签名

音乐网站后台管理系统信息表,用来储存MV信息。包括MV编号,MV名称,MV封面,MV人气,MV时间5个字段,其中MV编号为主键。如表3.7所示。
表3.7 MV信息表
域名 数据类型 说明
mv_id int MV编号
mv_name varchar MV名称
mv_poster varchar MV封面
mv_playtime varchar MV人气
mv_addtime varchar MV时间
3.3 数据流图
数据流图可以介绍功能的模型,在数据流图上可以观察出来整体的数据流组成部分是后台系统管理员,音乐网站后台管理的系统,音乐数据以及平台用户。它们当中了包括了音乐信息,MV信息,歌手信息,歌单管理,专辑管理等数据流[7]。如图3.4所示。
在这里插入图片描述

图3.4 数据流图
3.4 本章小结
本章介绍的主要内容是音乐网站后台管理的系统设计,其中展示了系统设计和数据库设计[8]。系统设计介绍了软件体系结构和功能结构,功能清晰的展示在系统功能结构图中。数据流图清晰的展现了数据在系统中的走向,看到管理员和系统对于信息的处理过程以及反馈,然后详细的介绍了数据库设计,让用户从观看体验上一目了然的了解系统,展示系统的优势与特点。

4 系统实现

4.1 开发环境
电脑系统为Windows 10操作系统,处理器是因特尔酷睿i7-6700HQ CPU @ 2.60GHz ,64位操作系统,运行内存为8GB。音乐网站后台管理系统的开发使用PHP集成开发工具phpstudy,运用PHP技术以及ThinkPHP框架技术[9],以Apache为服务器,数据库使用的是MySQL数据库,浏览器是谷歌浏览器,音乐网站后台管理系统运用到的开发语言,数据库以及开发环境都是开源免费的。
4.2 开发规范
让开发标准化不是特殊要求而是让拿到程序的人可以以最快的效率去查看代码,查看项目的基本情况,在相同的开发规范下,可以大大相机犯错率,增加容错率[10]。在使用期间的类库以及函数文件必须以.php的后缀来命名,使用英文名词、动词,以大写字母作为单词的分隔,其他的字母均使用小写,单词的首个字母使用小写,不使用下划线。使用英文名词、动词,所有字母都使用大写,以下划线分隔每个单词。使用英文名词,以大写字母作为词的分隔,其他的字母均使用小写,名词的首个字母使用大写,不使用下划线。
4.3 核心功能
4.3.1 用户管理
管理员登录系统之后可以进入音乐网站后台管理系统操作界面,选择左侧导航栏中的用户管理进入用户管理界面[11],进入会显示已经注册完并且正在使用的用户,可以查看用户的ID,用户的注册手机号,用户的密码,用户的网络昵称,显示用户头像,还有用户是否处于正常使用的状态。在右侧用户的操作栏中点击用户详情,可以显示用户的个人签名,用户的注册时间,用户的性别以及是否是网站的VIP用户,点击禁用可以禁用用户,被禁用的用户不可以登录音乐网站后台管理系统并且会失去所有的用户权限,点击删除会彻底删除用户[12]。如果需要后台添加用户可以点击左上角的添加用户输入用户手机号,用户密码,用户昵称,上传用户头像后,系统会显示添加成功的提示,然后即可完成管理员对新用户的添加。效果如图4.1所示。
在这里插入图片描述

图4.1 用户信息管理页面
public function postAdd(){
d a t a = data= data=request->only([‘user_name’,‘user_pass’,‘user_nickname’,‘user_pic’,‘user_status’,‘user_register_time’,‘user_sign’,‘user_nickname’]);
$data[‘user_register_time’]=time();
r e s u l t = result= result=this->validate($request->param(),‘User’);
f i l e = r e q u e s t ( ) − > f i l e ( ′ u s e r p i c ′ ) ; i f ( file=request()->file('user_pic'); if( file=request()>file(userpic);if(file){
//移动到框架应用根目录下/public/uploads/ 目录下
$info = f i l e − > v a l i d a t e ( [ ′ e x t ′ = > ′ j p g , p n g , g i f ′ ] ) − > m o v e ( R O O T P A T H . ′ p u b l i c ′ . D S . ′ u p l o a d s ′ ) ; i f ( file->validate(['ext'=>'jpg,png,gif'])->move(ROOT_PATH.'public'.DS.'uploads'); if( file>validate([ext=>jpg,png,gif])>move(ROOTPATH.public.DS.uploads);if(info){
//成功上传后获取上传信息
$info->getExtension();
p i c n a m e = ′ u p l o a d s / ′ . picname='uploads/'. picname=uploads/.info->getSaveName();
n a m e s = names= names=info->getFilename();
KaTeX parse error: Undefined control sequence: \think at position 5: img=\̲t̲h̲i̲n̲k̲\Image::open(picname);
i m g − > t h u m b ( 50 , 50 ) − > s a v e ( img->thumb(50,50)->save( img>thumb(50,50)>save(picname);
d a t a [ ′ u s e r p i c ′ ] = data['user_pic']= data[userpic]=picname;
}else{
//上传失败获取错误信息
echo KaTeX parse error: Expected 'EOF', got '}' at position 31: …); }̲ if(tru…result){
t h i s − > e r r o r ( this->error( this>error(result,“/admin_user/show”);
}

    if(Db::table("user_list")->insert($data)){$this->success("添加成功","/admin_user/show");}else{$this->error("添加失败","/admin_user/show");}

4.3.2 歌手管理
管理员登录系统之后可以进入音乐网站后台管理系统操作界面[13],选择左侧导航栏中的用户管理进入歌手管理界面,进入后会显示音乐网站的签约歌手,可以查看签约歌手的ID,歌手名称,歌手图片,歌手性别,歌手的个性签名和收藏人数[14]。选择修改功能可以修改以上所有的歌手信息,有上角搜索栏可以搜索歌手姓名,点击数删除即可删除歌手。如图4.2所示。
在这里插入图片描述
图4.2 歌手信息管理页面
public function postInsert(){
$login_allinfo=session::get();
l o g i n l e v e l = login_level= loginlevel=login_allinfo[‘login_level’];
/*var_dump(session::get());
$request=request();
$file = request()->file(‘player_pic’);
r e s u l t = result= result=this->validate([‘file1’=>$file],[‘file1’=>“require|image”],[‘file1.require’=>‘文件不能为空’,‘file1.image’=>‘上传文件必须是图片类型’]);
d a t a = data= data=request->only([‘player_id’,‘player_name’,‘player_pic’,‘player_sex’,‘player_sign’,‘player_collection’]);
d a t a [ ′ p l a y e r p i c ′ ] = " / u p l o a d s / t h u m b / " . data['player_pic']="/uploads/thumb/". data[playerpic]="/uploads/thumb/".name.“.”.$ext;
d a t a [ ′ o p i c ′ ] = " . / u p l o a d s / " . data['opic']="./uploads/". data[opic]="./uploads/".savename;

            if(Db::table("player_info")->insert($data)){}else{$player_id=request()->param('player_id');$list = upload_song($player_id,'artist',null);if($list->code==200){$player['player_sign'] = $list->artist->briefDesc;$player['player_pic'] = $list->artist->picUrl;$player['player_sex'] = 2;$player['player_id'] = $player_id;$player['player_name'] = $list->artist->name;if(Db::table('player_info')->insert($player)){$this->success("歌手添加成功","/admin_singer/show");}else{$this->error("歌手添加失败","/admin_singer/add");}

4.3.3 歌曲管理
管理员登录系统之后可以进入音乐网站后台管理系统操作界面[15],选择左侧导航栏中的歌曲管理进入歌曲管理界面,进入后会显示歌曲列表,热门歌曲,新歌首播中的各种歌曲。点击修改可以修改歌曲分类,歌曲所属专辑,歌曲名称,歌曲封面,歌手以及收藏人数[16]。点击详情就可以浏览上述的歌曲任何信息,点击删除可以删除歌曲。如图4.3所示。
在这里插入图片描述

图4.3 歌曲信息管理页面
public function postDoedit(){
$login_allinfo=session::get();
l o g i n l e v e l = login_level= loginlevel=login_allinfo[‘login_level’];
d a t a = r e q u e s t ( ) − > p a r a m ( ) ; u n s e t ( data = request()->param(); unset( data=request()>param();unset(data[‘/admin_song/doedit’]);
f i l e = r e q u e s t ( ) − > f i l e ( ′ s o n g p i c ′ ) ; u n s e t ( file = request()->file('song_pic'); unset( file=request()>file(songpic);unset(data[‘action’]);
$id = d a t a [ ′ s o n g i d ′ ] ; u n s e t ( data['song_id']; unset( data[songid];unset(data[‘song_id’]);
d a t a [ ′ s o n g p i c ′ ] = ′ / u p l o a d s / ′ . data['song_pic'] = '/uploads/'. data[songpic]=/uploads/.info->getSaveName();
if(Db::table(‘song_music’)->where(‘song_id’, i d ) − > u p d a t e ( id)->update( id)>update(data)){
$this->redirect(‘/admin_song/show’);
}else{
$this->error(‘修改成功’,‘/admin_song/show’);
}
4.3.4 MV管理
管理员登录系统之后可以进入音乐网站后台管理系统操作界面[17],选择左侧导航栏中的MV管理进入歌曲管理界面,进入后会显示歌曲MV,可以查看MV的ID,MV封面,还有视频的名称[18],人气值,状态以及MV时间,点击操作栏中的删除即可删除MV。如图4.4所示。
在这里插入图片描述

图4.4 MV信息管理页面
public function getDelete(){
$login_allinfo=session::get();
l o g i n l e v e l = login_level= loginlevel=login_allinfo[‘login_level’];
/var_dump(session::get());
die();
/
$Level_data= Db::table(‘admin_manager’)
->where(‘manager_id’,‘7’)
->find();
L e v e l n u m b e r = Level_number= Levelnumber=Level_data[‘manager_level’];
/*var_dump( L e v e l n u m b e r ) ; d i e ; ∗ / i f ( Level_number); die;*/ if ( Levelnumber);die;/if(login_level < $Level_number) {
$this->success(“请仔细阅读相关权限规则”,“/admin_manager/ruleshow”);
}
$request = request();
$id = $request->param(‘id’);
d a t a = D b : : t a b l e ( ′ v i d e o ′ ) − > w h e r e ( ′ i d ′ , data = Db::table('video')->where('id', data=Db::table(video)>where(id,id)->find();
if(!is_numeric(KaTeX parse error: Expected '}', got 'EOF' at end of input: … unlink('.'.data[‘url’]);
}
KaTeX parse error: Expected '}', got 'EOF' at end of input: …->where("id","{id}“)->delete();
if($result){
$this->success(“删除成功!”,”/admin_video/show");
}else{
$this->error(“删除失败!”,“/admin_video/show”);
}
4.4 本章小结
本章介绍的主要内容是项目的开发环境[19],开发规范以及项目部分核心功能的展示如用户管理,歌手管理,歌曲管理,MV管理的功能界面。以图文的方式介绍了系统核心功能的使用方法以及展示[20]。项目的功能实现已经基本完成,之后需要进行项目的测试工作。
5 系统测试
5.1 功能测试
注册一个用户,输入注册的帐号以及密码,检查系统是否可以成功注册用户,注册成功后是否可以登录[21],输入正确的密码和不正确的密码是否可以登录,测试结果通过。如表5.1所示。
表5.1 系统测试
测试序号 用例说明 输入数据 预期结果 测试结果
1 填写格式正确的用户名和密码,单机注册按钮 用帐号:15022552477
密码:123456 注册成功 通过
2 填写格式不正确的用户名和密码,单机注册按钮 用帐号:15022552477
密码:123456 请重新注册 通过
3 填写正确的登录用户名,正确的密码,单击登录 用帐号:15022552477
密码:123456 登录成功 通过
4 填写不正确的登录用户名,正确的密码,单击登录 用帐号:15022552477
密码:123456 提示“请您输入正确的用户名” 通过
5 填写正确的用户名,不正确的密码,单击登录 用帐号:15022552477
密码:123456 提示“请您输入正确的密码” 通过
6 填写不正确的用户名和密码,单击登录 用帐号:15022552477
密码:123456 提示“请输入正确的用户名” 通过
5.2 兼容性测试
音乐网站后台管理系统是Web项目[22],用户可能使用不通的浏览器来登录系统,所以浏览器的兼容性测试是非常必要的,测试结果是Google Chrome、360浏览器、Microsoft Edge都可以完美兼容音乐网站后台管理系统。如图5.1,5.2,5.3所示
在这里插入图片描述

图5.1 Google Chrome浏览器
在这里插入图片描述

图5.2 360浏览器

在这里插入图片描述

图5.3 Microsoft Edge浏览器
5.3 压力测试
使用Apache JMeter工具来当做测试工具为音乐网站后台管理系统进行测试,JMeter可以对项目进行接口测试,性能测试[23],压力测试以及数据库的测试。它最大的优点是安装简单开源免费,支持多种协议,并且高效功能强大。
测试可以看到发送了1000次请求,传输协议为协议为HTTP协议[24],从测试图中可以看到样本为1000,平均值为7624,中位数为7412,最小值为4319,最大值为17708,无异常,吞吐量为每秒56.4,测试结果稳定。测试的结果说明了项目完全能适应以后项目的大规模使用。测试结果如图5.4所示。

在这里插入图片描述

图5.4 压力测试结果
5.4 本章小结
本章介绍的主要内容是系统测试,包括了兼容性测试和压力测试两部分。兼容性测试测试了主流的三个浏览器对项目的兼容性是非常好的,压力测试也表明的系统的稳定性较好[25],可以满足用户的各种需求,应对各种情况带来的压力,市场前景非常好。

结 论

毕业设计音乐网站后台管理系统到这里已经完成了,在制作的过程中,运用所学的知识一步步构建系统,虽然过程肯定不是一帆风顺,但是正是这些错误,让我从错误中学习,吸取教训最终完成了项目。文章分析了音乐平台是要跟随时代和科技的进步一步一步不断改进的,参考了发展较好的平台来对自己的系统进行完善,也分析了制作音乐后台管理系统的需求以及可行性,目的是让用户在不花费任何费用的情况下可以收听到自己喜欢的音乐,让后台管理员也可以快捷的完成对网站的管理工作,也对系统核心功能的使用进行了详细的说明以及展示,并且进行了功能测试和压力测试确保音乐网站后台管理系统在以后的工作的压力下也可以完成正常的功能运转给用户带来好的体验感。
随着今后的技术不断地提高,用户需求的多样化,系统一定会存在一些不足之处,但是系统不进步就会被时代淘汰,所以以后也会持续的维护音乐网站后台管理系统,在接触到更先进,更便捷的技术时,会用新的技术把系统展现在大家的眼前,我也会在今后的研究和学习当中不断的去钻研和完善系统,使功能变得更加人性化,做到学以致用,让系统的发展前景更加广阔。

参考文献

[1] 马宁. 银行绩效考核系统的设计与实现[D].湖南大学,2016
[2] 杨竣宇. 基于VB的图书管理系统设计与实现[D].东北大学,2015
[3] 谭建泉. 基于PHP的高职就业信息系统的设计与实现[D].电子科技大学,2014
[4] 任博. 物流配货管理系统的设计与实现[D].东北大学,2015
[5] 张伟钰. 自出版平台运营管理系统的设计与实现[D].华中科技大学,2017
[6] 周江. 供电公司合同管理系统的设计与实现[D].西安电子科技大学,2017
[7] 孙俊菊,徐建国,戚春燕.基于PHP的高校数字化资产管理系统研究[J].佳木斯职业学院学报,2019(11):223-224
[8] 杨登,王赛.基于PHP的校园招聘网站的分析与设计[J].信息与电脑(理论版),2019,31(20):73-76
[9] 陈世林,杨以琳.基于PHP在线教育系统的设计与实现[J].电脑知识与技术,2019,15(28):67-68
[10] 李俊靓. 基于PHP技术的质检系统的设计与实现[D].北京邮电大学,2019
[11] 王本胜. 基于PHP+MYSQL个性化教学管理系统的设计与实现[D].安徽大学,2019
[12] 李艳. 基于PHP的单点登录系统的设计与实现[D].北京工业大学,2018
[13] 冯皓. 基于PHP的网约车营销平台的设计与实现[D].华中科技大学,2018
[14] 叶昶. 基于PHP的学术论文数据自动处理系统[D].西安电子科技大学,2018
[15] 马宇泽. 基于PHP的美食营销系统的后端设计与开发[D].南京邮电大学,2019
[16] 段寿建.基于PHP+MySQL的用户登录系统SQL注入实例及防范[J].现代计算机,2019(34):71-74
[17] Marwa F. Areed. A keyless Entry System based on Arduino board with Wi-Fi technology[J]. Measurement,2019,(2):34-39
[18] Jakub Misek,Filip Zavoral. Control Flow Ambiguous-Type Inter-Procedural Semantic Analysis for Dynamic Language Compilation[J]. Procedia Computer Science,2017,(3):955-962
[19] Natalya Prokofyeva,Victoria Boltunova. Analysis and Practical Application of PHP Frameworks in Development of Web Information Systems[J]. Procedia Computer Science,2017,(1):51-56
[20] Fontaine Rafamantanantsoa, Paulson Ravomampiandra. "Analysis and Simulink Modeling of the Performance of Dynamic Web Server Using JSP and PHP. 2019, 2019,(1):70-83
[21] 马杰. PHP实训教程[M]. 上海: 立信会计出版社, 2017.01:15-30
[22] 李勇著. PHP 从入门到精通[M]. 北京: 北京希望电子出版社, 2018.08:28-45
[23] 刘丽,杨灵. PHP编程基础与案例开发[M]. 北京: 北京理工大学出版社, 2018.08:50-73
[24] 万川梅,周建儒. PHP WEB程序设计[M]. 成都: 西南交通大学出版社, 2015.01:35-55
[25] 李华平,孙双林. PHP WEB程序设计[M]. 重庆: 重庆大学出版社, 2014.07:38-49

致 谢

毕业设计和论文的结束代表着我的大学生活已经接近尾声,四年的大学生活是给我留下了很多美好的回忆,让我感受到了家一般的温暖。感谢指导老师李朋老师和王凤伟老师几个月的悉心教导。自从毕业设计工作开始,李老师就传授给我很多知识和工作经验,帮我改进论文以及项目的不足之处,使我感受良多。感谢我的班主任陈思老师,陈老师对我的意义不只是传授知识而是陈老师作为班主任教会我们班级的每一个人做人的道理,培养了我们良好的学习习惯,在成功的时候不要骄傲,在遇到困难的时候不要气馁,传授我们进入社会的经验,让我们尽量少走弯路。
同学们对我的帮助也是非常巨大的,因为每次在我遇到困难的时候,同学们总是在我身边,尽力帮我解决问题和我一起找出问题的所在,可以说本次的毕业设计成功完成,任何人对我的帮助都是不可缺少的。最后再次对我的每一位老师表示感谢,感谢老师传道受业解惑,感谢同学们的无私包容,在以后的生活和工作中,我会保持良好的学习习惯不断进步完善自己。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPSEC VPPN实验

实验背景&#xff1a;FW1和FW2是双机热备的状态。 实验要求&#xff1a;在FW和FW3之间建立一条IPSEC通道&#xff0c;保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 IPSEC VPPN实验配置&#xff08;由于是双机热备状态&#xff0c;所以FW1和FW2只需要配置FW1主设备即可&…

YOLOX论文解读

paper&#xff1a;YOLOX: Exceeding YOLO Series in 2021 official implementation&#xff1a;https://github.com/Megvii-BaseDetection/YOLOX 本文的创新点 本文在YOLOv3的基础上进行了一些改进&#xff1a;包括将检测头进行解耦的decoupled head、从anchor-based转为anc…

分布式定时任务调度xxl-job

1. xxl-job基本介绍 1.1 Quartz的体系结构 Quartz中最重要的三个对象:Job&#xff08;作业&#xff09;、Trigger&#xff08;触发器&#xff09;、Scheduler&#xff08;调度器&#xff09;。 xxl-job的调度原理:调度线程在一个while循环中不断地获取一定数量的即将触发的Tr…

Haproxy 负载均衡集群

一. Haproxy 1. Haproxy 介绍 HAProxy 是法国开发者威利塔罗 (Willy Tarreau) 在2000年使用C语言开发的一个开源软件&#xff0c;是一款具备高并发(一万以上)、高性能的TCP和HTTP负载均衡器&#xff0c;支持基于cookie的持久性&#xff0c;自动故障切换&#xff0c;支持正则…

RocketMQ快速入门_2. rocketmq 的应用场景、与其他mq的差异

0. 引言 之前我们讲解过rabbitMQ&#xff0c;本期我们将进入吞吐量更加强大的rocketMQ的学习。 1. 基础概念 如果你是刚接触MQ的同学&#xff0c;还不清楚消息队列的基础概念的&#xff0c;可以参考我之前这篇文章&#xff1a; https://wu55555.blog.csdn.net/article/deta…

Java 学习和实践笔记(31):封装(encapsulation)

面向对象的三大特点&#xff1a;继承、封装、多态。前面学了继承&#xff0c;现在讲封装。 封装encapsulation一词来自于capsule&#xff0c;胶囊&#xff0c;小密器&#xff0c;密闭的空间。 封装的理念&#xff1a;高内聚&#xff0c;低耦合。 高内聚就是类的内部数据操作…

TCP包头、TCP为什么安全可靠、UDP和TCP的区别、http协议

我要成为嵌入式高手之3月8日Linux高编第十八天&#xff01;&#xff01; __________________________________________________ 学习笔记 TPC包头 1、序号 发送端发送数据包的编号 2、确认号 已经确认接收到的数据的编号&#xff0c;只有当ACK为1时&#xff0c;该位才有用 …

单例模式及线程安全的实践

&#x1f31f; 欢迎来到 我的博客&#xff01; &#x1f308; &#x1f4a1; 探索未知, 分享知识 !&#x1f4ab; 本文目录 引言基本的单例模式长啥样&#xff1f;怎样才能线程安全&#xff1f;**懒汉模式** ( 双 重 检 查 ) &#x1f389;总结&#x1f389; 引言 单例模式是个…

运维知识点-Tomcat

Tomcat tomcat日志告警 tomcat文件包含读取漏洞Tomcat ### 远程代码执行&#xff08;7.0.0-7.0.81&#xff09; 开启PUT&#xff0c;访问127.0.0.1&#xff1a;8080改PUT&#xff0c;创建x.jsp&#xff0c;写入shellwar后文件部署&#xff0c;登入特定后台&#xff0c;上传包含…

寻找两个正序数组的中位数[困难]

优质博文IT-BLOG-CN 一、题目 给定两个大小分别为m和n的正序&#xff08;从小到大&#xff09;数组nums1和nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为O(log (mn)) 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,3], nums2 [2] 输出&…

基于vue的联通积分商城数据可视化APP设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 前端技术介绍 3 1.1 前端开发语言 3 1.1.1 HTML5 3 1.1.2 CSS3 3 1.1.3 JavaScript 3 1.2 MVVM开发模式 4 1.3 Vue框架 4 1.4 Axios技术 5 1.5 ECharts 5 1.6 数据库技术 5 1.7 本章小结 6 2 前端开发的分析 7 2.1 功能性需求分析 7 2.2 …

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器

本篇博客记录从0到1实现一个仿mudo库的One Thread One Loop式主从Reactor模型的高并发服务器组件。 在此之前我们要明确的是&#xff0c;该项目仅作为一个高并发服务器组件&#xff0c;因此该项目并不包含实际的业务需求处理内容。 前置知识背景 一、HTTP服务器 概念&#xf…

【编程实践】matlab中的转义字符

简记 这个报错是因为在sprintf函数中使用了无效的转义字符\U。在MATLAB中&#xff0c;转义字符\U是无效的&#xff0c;因此会导致警告。 检查sprintf函数中的格式化字符串是否包含了无效的转义字符。确保只使用MATLAB支持的转义字符。 如果想要输出一个反斜杠字符\&#xff0c…

【常见集合】Java 常见集合重点解析

Java 常见集合重点解析 1. 什么是算法时间复杂度&#xff1f; 时间复杂度表示了算法的 执行时间 和 数据规模 之间的增长关系&#xff1b; 什么是算法的空间复杂度&#xff1f; 表示了算法占用的额外 存储空间 与 数据规模 之间的增长关系&#xff1b; 常见的复杂度&#x…

git - 笔记

为什么要学习Git 为什么要学习Git软件 为什么学习 因为在主流开发中&#xff0c;基于互联网软件开发的项目都会使用Git软件来进行项目开发过程中的资源管理 比如人力资源 代码资源 比如前端资源 .html .java等代码资源 文档资源 像项目开发中涉及到的需求文档等 这种项目中管理…

Langchain-Chatchat本地搭建ChatGLM3模型和提取PDF内容

文章目录 1、软件要求2、安装CUDA2.1、安装gcc2.2、安装CUDA 3、安装Anaconda33.1、下载Anaconda33.2、创建python虚拟环境 4、部署系统4.1、下载源码4.2、安装依赖4.3、下载模型4.4、初始化配置和知识库4.4.1、初始化配置4.4.2、初始化知识库 4.5、运行4.6、运行4.6.1、启动4.…

Qt初识 - 编辑框 | 按钮 | 命名规范

目录 一、编辑框 (一) Designer中的编辑框 (二) Code中的编辑框 二、按钮 (一) Designer中的按钮 (二) Code中的按钮 三、Qt中的命名规范 一、编辑框 (一) Designer中的编辑框 进入到Designer界面中 找到Input Widgets目录 找到该目录下的 将这个控件拉出去 双击就可…

神经网络softmax算法与卷积层

多类分类&#xff1a; 多类是分类算法中的一种&#xff0c;它区别于我们的0&#xff0c;1这样子的二进制分类&#xff0c;它会有多个分类的标签&#xff0c;让我们去取其中的一个。 softmax函数&#xff1a; softmax回归算法是我们的sigmoid回归的推广。 上图就是softmax运…

Koa: 打造高效、灵活的Node.js后端 (介绍与环境部署)

在上一篇文章中&#xff0c;我们了解了Node.js的基础知识&#xff0c;今天我们将进一步学习Node.js 较新的一个轻量级Web框架Koa&#xff0c;一起创建NodeJS后端服务器吧&#xff01; 一、介绍 Koa是一个新生代Node.js Web框架&#xff0c;由Express原团队成员开发&#xff0c…

SpringBootWeb(接收请求数据,返回响应结果,分层解耦,Spring的IOCDI)【详解】

目录 一、接收请求数据 1. 接收表单参数 1.原始方式【了解】 2.SpringBoot方式 3.参数名不一致RequestParam 2.实体参数 1.简单实体对象 2.复杂实体对象 3.数组集合参数 4.日期参数 3. JSON参数 1.Postman发送JSON数据 2.服务端接收JSON数据 4. 路径参数(rest风格…