音乐是人们生活的调剂品,它可以陶冶人们的情操,同事旅游照相成了大家必不可少放松项目。虽然照片最后会存入到自己的电脑里,但是时间一长、照片一多,这些有着勾起回忆的“资料”,就会显得杂乱无章,即不方便欣赏,也不方便管理。而在线相册具有欣赏、传播方便,界面美观等特点,可以很好的管理所存入的照片,不失为最佳欣赏、保存照片的相册工具。在线音乐相册系统平台也就应此应运而生
音乐相册网站的设计与实现采用PHP语言和MySQL数据库进行开发,让用户可以上传自己的音乐和相册,其他用户可以欣赏用户上传的音乐和相册
音乐相册网站首页部分界面
用户在打开网站的首页之后首先展示的是首页部分,在首页部分会推荐比较热门的一些图片和音乐信息给用户展示
音乐播放界面
用户在点击了对应的音乐之后系统会自动的跳转到音乐的播放界面,在音乐的播放界面中我们通过Html5的代码进行了音频文件的播放
相册展示界面
用户可以通过导航菜单的相册连接查看本网站内的一些相册信息
音乐相册发布界面
用户在注册登录之后可以发布自己的音乐和相册,在音乐和相册的发布界面中输入对应标题和介绍并通过上传空间上传对应的文件之后点击提交即可完成操作
音乐相册网站后台界面
管理人员通过自己的账号和密码登录系统之后可以对系统个类信息进行管理,界面如上图所示
`<?php
error_reporting(E_ALL ^ E_NOTICE);
c
o
n
n
=
@
m
y
s
q
l
c
o
n
n
e
c
t
(
"
l
o
c
a
l
h
o
s
t
"
,
"
r
o
o
t
"
,
"
r
o
o
t
"
)
o
r
d
i
e
(
"
数
据
库
链
接
失
败
"
.
m
y
s
q
l
e
r
r
o
r
(
)
)
;
m
y
s
q
l
s
e
l
e
c
t
d
b
(
"
d
a
i
z
u
"
,
conn=@mysql_connect("localhost","root","root") or die("数据库链接失败".mysql_error()); mysql_select_db("daizu",
conn=@mysqlconnect("localhost","root","root")ordie("数据库链接失败".mysqlerror());mysqlselectdb("daizu",conn) or die(“数据库链接失败”.mysql_error());
mysql_query(‘set names utf8’);
//设置时区
date_default_timezone_set(‘asia/shanghai’);
define(‘SYS_ROOT’, str_replace(“\”, ‘/’, dirname(FILE)));
define(‘File_ROOT’, SYS_ROOT.“/upload/”);
define(‘IMG_ROOT’, SYS_ROOT . “/upload/”);
@extract( P O S T ) ; @ e x t r a c t ( _POST); @extract( POST);@extract(_GET);
function getfirst($sql)
{
r
e
s
=
m
y
s
q
l
q
u
e
r
y
(
res=mysql_query(
res=mysqlquery(sql);
r
o
w
s
=
m
y
s
q
l
f
e
t
c
h
a
r
r
a
y
(
rows=mysql_fetch_array(
rows=mysqlfetcharray(res);
return KaTeX parse error: Expected 'EOF', got '}' at position 7: rows; }̲ // function ge…sql){
r
e
s
=
m
y
s
q
l
q
u
e
r
y
(
res=mysql_query(
res=mysqlquery(sql);
return mysql_num_rows(KaTeX parse error: Expected 'EOF', got '}' at position 7: res); }̲ function get_n…id,$table)
{
$sql="select * from $table where id='$id'";
$rows=getfirst($sql);
return $rows[name];
}
//遍历创建目录
function Remkdir(KaTeX parse error: Expected '}', got 'EOF' at end of input: … (!file_exists(path)) {
Remkdir(dirname(
p
a
t
h
)
)
;
@
m
k
d
i
r
(
path)); @mkdir(
path));@mkdir(path, 0777);
}
}
//上传图片
function upload_image($inputname, $image=null, $type=‘upimages’, $width=440) {
$n = time().rand(1000,9999).‘.jpg’;
$z =
F
I
L
E
S
[
_FILES[
FILES[inputname];
if (KaTeX parse error: Expected 'EOF', got '&' at position 3: z &̲& strpos(z[‘type’], ‘image’)===0 && KaTeX parse error: Expected '}', got 'EOF' at end of input: …]==0) { if (!image) {
Remkdir( IMG_ROOT . ‘/’ . “{$type}/” );
KaTeX parse error: Expected '}', got 'EOF' at end of input: image = "{type}/{$n}";
$path = IMG_ROOT . ‘/’ . $image;
} else {
Remkdir( dirname(IMG_ROOT .'/' .$image) );
$image = "{$type}/{$n}";
$path = IMG_ROOT . '/' .$image;
}
//echo $path ;
move_uploaded_file($z['tmp_name'], $path);
//echo $image;exit;
return $image;
}
return $image;
}
//获取文件后缀名
function get_extend($file_name)
{
e
x
t
e
n
d
=
p
a
t
h
i
n
f
o
(
extend = pathinfo(
extend=pathinfo(file_name);
e
x
t
e
n
d
=
s
t
r
t
o
l
o
w
e
r
(
extend = strtolower(
extend=strtolower(extend[“extension”]);
return $extend;
}
//文件上传实现
function upload_file($inputname, $file=null)
{
$year = date(‘Y’); $day = date(‘md’);
$z =
F
I
L
E
S
[
_FILES[
FILES[inputname];
$file_ext=get_extend($z['name']);
$n = time().rand(1000,9999).".".$file_ext;
if ($z && $z['error']==0) {
if (!$file) {
Remkdir( File_ROOT . '/' . "{$day}" );
$file = "{$day}/{$n}";
$path = File_ROOT . '/' . $file;
} else {
Remkdir( File_ROOT . '/' . "{$day}" );
$file = "{$day}/{$n}";
$path = File_ROOT . '/' .$file;
}
//echo $path ;
move_uploaded_file($z['tmp_name'], $path);
//echo $file;exit;
return $file;
}
return $file;
}
//分页函数.
function get_pager($url, $param, $count, $page = 1, $size = 10)
{
s
i
z
e
=
i
n
t
v
a
l
(
size = intval(
size=intval(size);
if(
s
i
z
e
<
1
)
size < 1)
size<1)size = 10;
p
a
g
e
=
i
n
t
v
a
l
(
page = intval(
page=intval(page);
if(
p
a
g
e
<
1
)
page < 1)
page<1)page = 1;
c
o
u
n
t
=
i
n
t
v
a
l
(
count = intval(
count=intval(count);
$page_count = $count > 0 ? intval(ceil($count / $size)) : 1;
if ($page > $page_count)$page = $page_count;
$page_prev = ($page > 1) ? $page - 1 : 1;
$page_next = ($page < $page_count) ? $page + 1 : $page_count;
$param_url = '?';
foreach ($param as $key => $value)$param_url .= $key . '=' . $value . '&';
$pager['url'] = $url;
$pager['start'] = ($page-1) * $size;
$pager['page'] = $page;
$pager['size'] = $size;
$pager['count'] = $count;
$pager['page_count'] = $page_count;
if($page_count <= '1')
{
$pager['first'] = $pager['prev'] = $pager['next'] = $pager['last'] = '';
}
else
{
if($page == $page_count)
{
$pager['first'] = $url . $param_url . 'page=1';
$pager['prev'] = $url . $param_url . 'page=' . $page_prev;
$pager['next'] = '';
$pager['last'] = '';
}
elseif($page_prev == '1' && $page == '1')
{
$pager['first'] = '';
$pager['prev'] = '';
$pager['next'] = $url . $param_url . 'page=' . $page_next;
$pager['last'] = $url . $param_url . 'page=' . $page_count;
}
else
{
$pager['first'] = $url . $param_url . 'page=1';
$pager['prev'] = $url . $param_url . 'page=' . $page_prev;
$pager['next'] = $url . $param_url . 'page=' . $page_next;
$pager['last'] = $url . $param_url . 'page=' . $page_count;
}
}
return $pager;
}
?>
`
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37