当前位置: 首页 > news >正文

python 基于PHP在线音乐网站

随着时代的发展,人们的生活水平越来越高,相对应的对精神世界的追求也越来越多,而音乐一直以来一直是人们追求美好生活的象征,它不仅可以陶冶人们的情操还可以美化人们的灵魂,音乐也一直是千百年来人们不断追求的一个精神文明的产物,为了能够让更多的人找到自己喜欢的音乐,我开发本基于PHP的音乐网站。请添加图片描述PHP在线音乐网站系统采用当前最流行的PHP做为开发语言,数据库采用MySQL做为存储介质,通过wamp,xammp,appserv等主流php集成环境进行开发,实现了用户注册登录,在线听歌,在线充值,收藏歌曲,下载歌曲和音乐分类管理,音乐管理,用户管理,修改密码等模块,通过这些模块可以让用户更好的在线听歌和下载歌曲,从而满足人们对音乐的追求。请添加图片描述
随着网络技术的发展,人民在利用网络学习的同时,也在享受着网络带来的各种附带产品所产生的效应,如网络游戏,网络歌曲。音乐网站正是在这样的需求前提下应运而生。给人们的日常生活带来了极大的乐趣,让人们在繁忙疲惫的工作之后可以进行休闲。
请添加图片描述
随着我国网民的增加,也促进了音乐网站的开发。随着网络技术的发展,人们在利用网络学习的同时,也在享受着网络带来的各种附带产品所产生的效应,如网络游戏,网络歌曲。音乐网站正是在这样的需求前提下应运而生,给人们的日常生活带来了极大的乐趣,让人们在繁忙疲惫的工作之后可以进行休闲。基于此种现状,在充分分析了该行业的市场前景,调研了用户需求之后,音乐网站也就不运而生了。
作为音乐网站的网络载体,音乐网站在创作、传播、欣赏方式等方面对流行音乐的发展都产生了前所未有的影响:
(1)电脑网络技术的发展使人们通过音乐网站接触到了更多的流行音乐。
(2)网民数量的激增使更多的人们通过音乐网站接触到了流行音乐。
(3)音乐网站为流行音乐创作提供了更多的便利。
(4)音乐网站刺激了流行音乐的传播。
(5)音乐网站使流行音乐的欣赏方式发生了改变。
(6)音乐网站不但刺激了流行音乐的传播,而且也刺激了电子数码产品的频繁更新换代。

请添加图片描述
现有的音乐网站大体有两种模式:一、自己拥有独立的服务器,服务器上有上百G的mp3歌曲资源。提供在线播放功能,需要将mp3歌曲转换成wma格式,否则服务器吃不消。提供免费wma格式歌曲下载(服务器可能受不了下载流量)。这种模式是个人音乐网站的高级模式,他的收入完全依靠网络广告。因为涉及版权问题没办法做大。另外mp3歌曲在百度很容易搜索到。二、只需要一个虚拟空间,一套程序批量采集其他网站的歌曲,只提供在线播放功能。这种模式是现在很普遍的小偷站,投入低,管理维护省时省事,但是受制于被采集方的服务器。也仅仅依靠网络广告来盈利。现有模式的缺点就是资源价值不高。个人音乐网站其实面临的风险实在太多,就版权问题不说,服务器的投入成本与广告盈利几乎不成比例,针对现有这种现状,个人音乐网站的发展要具备以下几点的才可以:一、歌曲资源具备高价值;二、提供试听和下载功能;三、能够有自己独特的风格。目前的流行音乐网站从传播形式来看,大致可分为三类:有固定网址的流行音乐网站、搜索类流行音乐网站、P2P类流行音乐网站。三者功能各异、互为补充。请添加图片描述

请添加图片描述
本系统分为前台和后台两部分,具体功能如下所述

前台部分功能

1:用户注册登录,在本系统中用户可以进行注册登录,注册登录后可以享有更多的功能
2:查看音乐,用户可以查看和播放音乐,但是如果想要下载音乐的花需要登录,而且为了尊重音乐创作人的版权,部分音乐可能需要收费后下载
3:音乐分类,为了能够更好的让用户找对不同类型的音乐,网站对音乐进行了分类,方便用户进行查找
4:搜索模块,用户可以根据关键字在网站搜索自己喜欢的音乐
5:音乐播放,用户通过分类,推荐或者搜索等功能找到了自己喜欢的歌曲后,可以进行在线播放
6:音乐收藏,用户如果有喜欢的歌曲而暂时又不想下载的花,可以进行收藏,并且可以在个人中心中查看自己的音乐收藏
7:个人充值,如果用户想要下载收费的歌曲,需要充值后进行下载
8:个人信息修改,注册用户登录后可以修改自己的个人信息
9:修改密码,用户可以修改自己的个人密码

后台部分功能介绍

1:管理员后台登录,管理员通过自己的用户名和密码进行登录
2:音乐分类管理,管理员可以对音乐的分类进行管理,包括增删改查
3:音乐信息管理,管理员可以对音乐进行上传和删除修改等操作,音乐信息包括音乐的名称,作曲,原唱,已经歌曲的价格,和下载量等信息进行管理
4:注册用户管理,管理员可以管理注册用户的信息
5:用户充值管理,管理员可以在后台查看用户的充值记录
6:修改密码,管理员可以修改自己的个人密码
请添加图片描述
请添加图片描述

<?php
error_reporting(E_ALL ^ E_NOTICE);

$conn=@mysql_connect("localhost","root","root") or die("数据库链接失败".mysql_error());
mysql_select_db("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($_POST);
@extract($_GET);

function getfirst($sql)
{
	$res=mysql_query($sql);
	$rows=mysql_fetch_array($res);
	return $rows;
}
//
function getcount($sql){
	$res=mysql_query($sql);

return mysql_num_rows($res);
}
function get_name($id,$table)
{

	$sql="select * from $table where id='$id'";
	$rows=getfirst($sql);
	return $rows[name];
}
//遍历创建目录
function Remkdir($path) {
	if (!file_exists($path)) {
		Remkdir(dirname($path));
		@mkdir($path, 0777);
	}
}
//上传图片
function upload_image($inputname, $image=null, $type='upimages', $width=440) {
	 $n = time().rand(1000,9999).'.jpg';
	$z = $_FILES[$inputname];
	if ($z && strpos($z['type'], 'image')===0 && $z['error']==0) {
		if (!$image) {
			Remkdir( IMG_ROOT . '/' . "{$type}/" );
			$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)
{
$extend = pathinfo($file_name);
$extend = strtolower($extend["extension"]);
return $extend;
}
//文件上传实现

function upload_file($inputname, $file=null)
{
	$year = date('Y'); $day = date('md');
	$z = $_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)
{
    $size = intval($size);
    if($size < 1)$size = 10;
    $page = intval($page);
    if($page < 1)$page = 1;
    $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

相关文章:

  • 【Java-----File类详解】