⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 film_play.asp

📁 在线点播系统
💻 ASP
字号:
<!--#include file="chklogin.asp"-->
<!-- ########### 检测用户浏览器是否支持xmlhttp对象 ################-->
<script language="javascript">
try
{
	var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
	alert('不能创建Microsoft.XMLHTTP对象,推荐使用Internet Explorer6.0浏览器');
	parent.opener=null;
	parent.close();
}
finally
{
	xmlhttp=null;
}
</script>
<%
 
call myobj.chkrq()
 
set rs=server.createobject("adodb.recordset")
rs.open "select * from setup where id=1",conn,1,1
all_max_online=rs("max_online") '查询最多允许在线人数
website_name=rs("website_name") '查询网站名称
rs.close
set rs=server.createobject("adodb.recordset")
rs.open "select * from users",conn,1,1 
all_now_online=rs.recordcount '查询当前服务器已有多少人在线
rs.close
if cint(all_now_online)>=cint(all_max_online) then '如果已在线人数大于最多允许的在线人数
 response.write"<script language=javascript>alert('服务器最多允许同时在线的人数达到上限,请稍后再播放');window.close();</Script>"
 response.end
end if
 
if request.QueryString("id")="" then '如果影片ID参数值为空
 response.write"<script language=javascript>alert('影片不存在');window.close();</Script>"
 response.end
end if
if myobj.ChkNum(request.QueryString("id"))=false then '如果影片参数ID值不是整数
 response.write"<script language=javascript>alert('影片不存在');window.close();</Script>"
 response.end
end if
if request.QueryString("fileid")="" then '如果影片文件参数值为空
 response.write"<script language=javascript>alert('影片文件不存在');window.close();</Script>"
 response.end
end if
if myobj.ChkNum(request.QueryString("fileid"))=false then '如果影片文件参数值不是整数
 response.write"<script language=javascript>alert('影片文件不存在');window.close();</Script>"
 response.end
end if
 
set rs=server.createobject("adodb.recordset")
rs.open "select * from films where id="&request.querystring("id")&"",conn,1,1
if rs.eof then '如果影片不存在
 call nr()
 response.write"<script language=javascript>alert('影片不存在');window.close();</Script>"
 response.end
else
 film_name=rs("film_name") '否则取得影片名称
 pathid=rs("pathid") '否则取得影片路径ID
 film_money=rs("film_money") '否则取得影片点播所需影币数量
 play_level=rs("play_level") '否则取得影片播放权限信息
end if
rs.close
 
'############以上代码判断参数值####################
 
set rs=server.createobject("adodb.recordset")
rs.open "select * from film_path where id="&pathid&"",conn,1,1
if rs.eof then   '判断影片路径是否存在
 response.write"<script language=javascript>alert('影片路径不存在');window.close();</Script>"
 response.end
else
 path_left="rtsp://<#userid#>:<#pwd#>@" '取出数据库中的路径,然后自己补全地址中的变量信息
 if left(rs("caption"),26)<>path_left then
  response.write"<script language=javascript>alert('影片路径变量不存在');window.close();</Script>"
  response.end
 else
  film_path=rs("caption") '取得路径地址
 end if
end if
rs.close
 
if play_level<>0 then '如果播放权限不是0,即不是免费播放的影片
 if request.cookies("userid")="" then  '判断用户是否已登陆
  response.write"<script language=javascript>alert('请先登陆后再播放影片');window.close();</Script>"
  response.end
 end if
 set rs=server.createobject("adodb.recordset")
 rs.open "select * from member where userid='"&request.cookies("userid")&"'",conn,1,1
  point=rs("point") '取得当用用户可用影币数
  member_id=rs("id") '取得用户ID值
  if rs("u_type")=1 then
   if cint(point)<cint(film_money) then '如果影币不够
    call nr()
    response.write"<script language=javascript>alert('对不起,播放本影片需要"&film_money&"个影币,您的账号影币剩余"&point&"个,请充值后再播放影片');window.close();</Script>"
    response.end
   end if
  else
   end_time=rs("end_time") '取得用户到期时间
   if cdate(end_time)<=now() then '如果账号到期
    call nr()
    response.write"<script language=javascript>alert('对不起,您的账号已到期,请充值后再播放影片');window.close();</Script>"
    response.end
   end if
  end if
 max_online=rs("max_online") '取得该用户最多允许同时在线的人数
 user_vip=rs("is_vip")  '取得用户VIP属性值
 rs.close
 
 set rs=server.createobject("adodb.recordset")
 rs.open "select * from users where member_id='"&member_id&"'",conn,1,1
 now_online=rs.recordcount '查询该用户已有多少线程链接服务器
 rs.close
 if cint(now_online)>=cint(max_online) then '如果该账号最多允许的进程小于或等于现已链接的进程
  response.write"<script language=javascript>alert('您的账号只允许"&max_online&"台电脑同时链接到服务器,当前您的账号有"&now_online&"台电脑已链接。如果您是因为在播放影片时与服务器中断链接而造成不能播放的话,则请等待链接超时后即可播放影片');window.close();</Script>"
  response.end
 end if
end if
 
if play_level=1 then '如果影片不允许播放
 if request.cookies("userid")="" then
  response.write"<script language=javascript>alert('请先登陆后再播放');window.close();</Script>"
  response.end
 end if
end if
if play_level=2 then '如果影片只允许VIP用户播放
 if cbool(user_vip)=false then '如果当前用户不是VIP用户
  response.write"<script language=javascript>alert('对不起,本影片只允许VIP用户播放');window.close();</Script>"
  response.end
 end if
end if
 
set rs=server.createobject("adodb.recordset")
rs.open "select * from film_files where filmid="&request.querystring("id")&" and id="&request.querystring("fileid")&"",conn,1,1
if rs.eof then '如果影片文件不存在
 call nr()
 response.write"<script language=javascript>alert('该影片文件并不存在');window.close();</Script>"
 response.end
else
 filename=rs("filename") '取得影片文件名
end if
rs.close
 
set rs=server.createobject("adodb.recordset") '增加影片点播次数
rs.open "select * from films where id="&request.querystring("id")&"",conn,1,3
rs("see_count")=rs("see_count")+1
rs.update
rs.close
 
if play_level<>0 then
 set rs=server.createobject("adodb.recordset") '用户付费
 rs.open "select * from member where userid='"&request.cookies("userid")&"'",conn,1,3
 if request.cookies("u_type")=1 then '如果当前用户是计点用户
  rs("point")=cint(rs("point"))-cint(film_money) '扣取当前用户的可用影币数量
 end if
 rs.update
 rs.close
end if
 
userid=myobj.MakeRnd(12) '生成随机账号
password=myobj.MakeRnd(12) '生成随机密码
 
set rs=server.createobject("adodb.recordset") '向helix服务写入链接账号
rs.open "select * from users where (id is null)",conn,1,3
rs.addnew
rs("userid")=userid
rs("password")=password
rs("uuid")=""
rs("uuid_writeable")=1
rs("member_id")=member_id
rs("film_name")=film_name
rs("link_type")=1
rs.update
rs.close
 
set rs=server.createobject("adodb.recordset") '向helix服务写入链接权限
rs.open "select * from permissions where (id is null)",conn,1,3
rs.addnew
rs("userid")=userid
rs("url")="root/"
rs("url_type")=1
rs("permission_type")=0
rs("expires")=""
rs("debitted_time")=0
rs("member_id")=member_id
rs("link_type")=1
rs.update
set rs=nothing
conn.close
set conn=nothing
 
response.cookies("film_down_page")=1 '写入防播放的cookies标识值
original_url=film_path&filename '组成原始完整路径
play_url=replace(replace(original_url,"<#userid#>",userid),"<#pwd#>",password) '通过替换标示字符组成播放路径
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title><%=film_name%> - <%=website_name%> - 在线播放</title>
<style type="text/css">
<!--
body,td,th {
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 12px;
 color: #000000;
}
a:link {
 color: #000000;
}
a:visited {
 color: #000000;
}
a:hover {
 color: #FF6600;
}
-->
</style>
<link href="images/style.css" rel="stylesheet" type="text/css">
</head>
 
<body leftMargin="0" topMargin="0" bgcolor="#000000" style='overflow:scroll;overflow-y:hidden;overflow-x:hidden' onunload="del_userid();">
<input name="userid" type="hidden" id="userid" value="<%=userid%>">
<script language="javascript">
window.resizeTo (400,468);
function resume_size()
{
window.resizeTo (400,468);
}
function del_userid()
{
var str=document.all("userid").value;
var xmlhttp = new ActiveXObject ("Microsoft.XMLHTTP"); 
xmlhttp.Open("get", "xml.asp?userid="+str, false); 
xmlhttp.Send(null);
xmlhttp=null
}
</script>
<table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0"  id="player" >
  <tr>
    <td align="center">
 
<object id="RP1" name="RP1" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="100%" height="100%">
        <param name="AUTOSTART" value="-1">
        <param name="SHUFFLE" value="0">
        <param name="PREFETCH" value="0">
        <param name="NOLABELS" value="0">
        <param name="CONTROLS" value="Imagewindow">
        <param name="CONSOLE" value="clip1">
        <param name="LOOP" value="0">
        <param name="NUMLOOP" value="0">
        <param name="CENTER" value="1">
        <param name="MAINTAINASPECT" value="1">
        <param name="BACKGROUNDCOLOR" value="#000000">
        <PARAM NAME="SRC" VALUE="<%=cstr(play_url)%>">
    </object></td>
  </tr>
  <tr>
    <td height="60"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
        <td align="center" bgcolor="#000000"><table  border=1 cellpadding=0 cellspacing=0 width="100%">
              <td width="50"><img src="images/ctrl-fullscreen.gif" alt="全屏方式播放" width="50" height="30" border="0" onClick="document.RP1.SetFullScreen();"></td>
              <td width="50"><img src="images/img52.gif" alt="恢复默认窗口大小" width="50" height="30" border="0" onClick="resume_size();"></td><td>
<object id="RP2" name="RP2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="100%" height="30">
                      <param name="_ExtentX" value="4657">
                      <param name="_ExtentY" value="794">
                      <param name="AUTOSTART" value="-1">
                      <param name="SHUFFLE" value="0">
                      <param name="PREFETCH" value="0">
                      <param name="NOLABELS" value="-1">
                      <param name="CONTROLS" value="ControlPanel">
                      <param name="CONSOLE" value="clip1">
                      <param name="LOOP" value="0">
                      <param name="NUMLOOP" value="0">
                      <param name="CENTER" value="0">
                      <param name="MAINTAINASPECT" value="0">
                      <param name="BACKGROUNDCOLOR" value="#000000">
                  </object></td>
              </tr>
          </table></td>
        </tr>
        <tr>
          <td align="center" bgcolor="#000000">
<object id="RP3" name="RP3" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="100%" height="30">
              <param name="_ExtentX" value="4657">
              <param name="_ExtentY" value="794">
              <param name="AUTOSTART" value="-1">
              <param name="SHUFFLE" value="0">
              <param name="PREFETCH" value="0">
              <param name="NOLABELS" value="-1">
              <param name="CONTROLS" value="StatusBar">
              <param name="CONSOLE" value="clip1">
              <param name="LOOP" value="0">
              <param name="NUMLOOP" value="0">
              <param name="CENTER" value="0">
              <param name="MAINTAINASPECT" value="0">
              <param name="BACKGROUNDCOLOR" value="#000000">
          </object></td>
        </tr>
    </table></td>
  </tr>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -