📄 music.cgi
字号:
#!/usr/bin/perl
require "f:/hndns/music/setup.cgi";
# NT系统此处改为绝对路径
print"Content-Type:text/html\n\n";
##################读取输入的变量###############
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
else {
$buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$value =~ s/\|//g;
$value =~ s/>/>/g;
$value =~ s/</</g;
$FORM{$name} = $value;
}
#################取出输入变量###############
$music_fl = $FORM{'fl'};
$music_gs = $FORM{'gs'};
$music_zj = $FORM{'zj'};
################判断动作##################
if(($music_fl eq "")&&($music_gs eq "")&&($music_zj eq "")){&music; exit;}
if(($music_fl ne "")&&($music_gs eq "")&&($music_zj eq "")){&flmusic; exit;}
if(($music_fl ne "")&&($music_gs ne "")&&($music_zj eq "")){&zjlb; exit;}
if(($music_fl ne "")&&($music_gs ne "")&&($music_zj ne "")){&zjxs; exit;}
###################子程序部分##################
sub music{
$bt_name="所有分类";
open(INDEX,"$htmlhead/$indexhtml");
@html_index=<INDEX>;
close (INDEX);
open(MENULIST,"$listfile");
@menulist=<MENULIST>;
close (MENULIST);
foreach $menulist (@menulist) {
@onemenulist = split(/\#/,$menulist);
foreach $onemenulist (@onemenulist) {$onemenulist=~ s/\n//g;
@onemenulisttemp = split(/\|/,$onemenulist);
if($onemenulisttemp[0] =~/^[a-zA-Z]/){$printhtml.="<table width=100%><tr><td width=20% bgcolor=#FFEBE1><a href=$musiccgi?fl=$onemenulisttemp[0]><font color=#284050>$onemenulisttemp[1]</font></a></div></td> </table><table width=100% border=1 cellspacing=5 cellpadding=0 bordercolorlight=#666666 bordercolordark=#E8E8E8>"; $music_fl=$onemenulisttemp[0];
$table_count=0;}
else {
if ($table_count==0){ $printhtml.="<tr>";}
if ($bg_color eq "#E1F0FF"){$bg_color="#FFFFFF";}else{$bg_color="#E1F0FF";}
$printhtml.=
"<td height=25 width=20% bgcolor=$bg_color> <div align=center>
<A href=$musiccgi?fl=$music_fl&gs=$onemenulisttemp[0] >$onemenulisttemp[1]</a>
</div></td>";
$table_count++; if ($table_count>4){ $printhtml.="</tr>"; $table_count=0; }
}}}
$printhtml.="</td></tr></table>";
foreach (@html_index) {
$_ =~ s/\$printhtml/$printhtml/g;
$_ =~ s/\$images/$images/g;
$_ =~ s/\$bqsm/$bqsm/g;
$_ =~ s/\$bt_name/$bt_name/g;
$_ =~ s/\$cgiurl/$cgiurl/g;
}
print "@html_index";
}
###################子程序部分##################
sub zjlb{
open(HTMLZJLB,"$htmlhead/$htmlzjlb")||die $!;
@html_zjlb=<HTMLZJLB>;
close (HTMLZJLB);
open(GSFLIE,"$datahead/$music_fl\-$music_gs$txt")||die &errors;
@gszj_xx=<GSFLIE>;
close (GSFLIE);
$gj=0;
$zjwz=0;
$zjjs=1;
@gszj_sj=split(/\|/,$gszj_xx[$gj]);
&gsname;
while(@gszj_sj !=""){
$gszj_temp="<table border cellpadding=0 cellspacing=0 width=100% bordercolor=white bordercolordark=white bordercolorlight=white><tr><td width=21% bgcolor=#FFEBDA><p> ☆ $zjjs </td><td width=57% bgcolor=#FFEBDA> <a href=$musiccgi?fl=$music_fl&gs=$music_gs&zj=$zjwz title=点击查看专辑【$gszj_sj[1]】全部歌曲>$gszj_sj[1]</a></td><td width=22% bgcolor=#FFEBDA><p align=center>$gs_name</td></tr></table>";
@gszj_names=($gszj_temp,@gszj_names);
$gj+=1;
$zjwz+=1;
$zjjs+=1;
@gszj_sj=split(/\|/,$gszj_xx[$gj]);
}
if ($gj==0){
&errors;}
else{
foreach (@html_zjlb) {
$_ =~ s/\@gszj_names/@gszj_names/g;
$_ =~ s/\$gs_name/$gs_name/g;
$_ =~ s/\$images/$images/g;
$_ =~ s/\$bqsm/$bqsm/g;
$_ =~ s/\$bt_name/$bt_name/g;
$_ =~ s/\$cgiurl/$cgiurl/g;
}
print "@html_zjlb";}
}
###################子程序部分##################
sub zjxs{
open(HTMLZJXS,"$htmlhead/$htmlzjxs")||die $!;
@html_zjxs=<HTMLZJXS>;
close (HTMLZJXS);
open(GSFLIE,"$datahead/$music_fl\-$music_gs$txt")|| die &errors;
@gszj_sy=<GSFLIE>;
close (GSFLIE);
@gszj_xx=split(/\|/,$gszj_sy[$music_zj]);
if(@gszj_xx ne ""){
$gszj_name="$gszj_xx[1]";
$gszj_img="$gszj_xx[2]";
$pn=3;
$pl=4;
$play_name="$gszj_xx[$pn]";}
while($play_name ne ""){
$ps+=1;
$play_link="$gszj_xx[$pl]";
$play_temp="<table border cellpadding=0 cellspacing=0 width=100% bordercolor=white bordercolordark=white bordercolorlight=white><tr><td width=21% bgcolor=#FFEBDA><p> ☆ $ps </td><td width=57% bgcolor=#FFEBDA> <a href=javascript:open_window('$cgiurl/play.cgi?gq=$play_link','Listen','width=250,height=100') title=点击播放歌曲>$play_name</a></td><td width=22% bgcolor=#FFEBDA><p align=center><input type=checkbox name=$ps value=$play_link></td></tr></table>\n";
@gszj_play=(@gszj_play,$play_temp);
$pn+=2;
$pl+=2;
$play_name="$gszj_xx[$pn]";
}
&gsname;
foreach (@html_zjxs) {
$_ =~ s/\$gszj_img/$gszj_img/g;
$_ =~ s/\$gszj_name/$gszj_name/g;
$_ =~ s/\@gszj_play/@gszj_play/g;
$_ =~ s/\$cgiurl/$cgiurl/g;
$_ =~ s/\$images/$images/g;
$_ =~ s/\$bqsm/$bqsm/g;
$_ =~ s/\$gs_name/$gs_name/g;
$_ =~ s/\$mingg/$mingg/g;
}
print "@html_zjxs";
}
###################子程序部分##################
sub gsname{
$name_gs=$music_gs;
$name_fl=$music_fl;
open(GSNAME,"$listfile");
@gsname=<GSNAME>;
close (GSNAME);
foreach $gsname (@gsname) {$gsname=~ s/\n//g;
@onegsname =split(/\|/,$gsname);
if($onegsname[0] =~/^$name_fl/){
@fl_gs=@onegsname;
}}
if($name_gs !=0){
$name_gs=$name_gs*2+1;
}
else{
$name_gs+=1;
}
$gs_name=$fl_gs[$name_gs];
}
###########################################
sub flmusic{
open(MENULISTFL,"$listfile");
@menulistfl=<MENULISTFL>;
close (MENULISTFL);
foreach $menulistfl (@menulistfl){if ($menulistfl=~/^$music_fl/){
@flmenulist=(@flmenulist,$menulistfl);}}
if (@flmenulist ==0){
&errors;
}
else{
open(FLINDEX,"$htmlhead/$indexhtml");
@html_flindex=<FLINDEX>;
close (FLINDEX);
foreach $flmenulist (@flmenulist) {
@flonemenulist = split(/\#/,$flmenulist);
foreach $flonemenulist (@flonemenulist) {$flonemenulist=~ s/\n//g;
@flonemenulisttemp = split(/\|/,$flonemenulist);
if($flonemenulisttemp[0] =~/^[a-zA-Z]/){$flprinthtml.="<table width=100%><tr><td width=20% bgcolor=#FFEBE1><a href=$musiccgi?fl=$flonemenulisttemp[0]><font color=#284050>$flonemenulisttemp[1]</font></a></div></td> </table><table width=100% border=1 cellspacing=5 cellpadding=0 bordercolorlight=#666666 bordercolordark=#E8E8E8>"; $music_fl=$flonemenulisttemp[0];
$fltable_count=0;}
else {
if ($fltable_count==0){ $flprinthtml.="<tr>";}
if ($flbg_color eq "#E1F0FF"){$flbg_color="#FFFFFF";}else{$flbg_color="#E1F0FF";}
$flprinthtml.=
"<td height=25 width=20% bgcolor=$flbg_color> <div align=center>
<A href=$musiccgi?fl=$music_fl&gs=$flonemenulisttemp[0] >$flonemenulisttemp[1]</a>
</div></td>";
$fltable_count++; if ($fltable_count>4){ $flprinthtml.="</tr>"; $fltable_count=0; }
}}}
$flprinthtml.="</td></tr></table>";
$printhtml="$flprinthtml";
foreach (@html_flindex) {
$_ =~ s/\$printhtml/$printhtml/g;
$_ =~ s/\$images/$images/g;
$_ =~ s/\$bqsm/$bqsm/g;
$_ =~ s/\$bt_name/$bt_name/g;
$_ =~ s/\$cgiurl/$cgiurl/g;
}
print "@html_flindex";}
}
#################################
sub errors{
open (ERRORHTML,"$htmlhead/$errorhtml");
@html_error=<ERRORHTML>;
close (ERRORHTML);
$nameerror="没找到";
$error="<br><br><font size=3 color=blue>对不起!此歌手还没有歌曲被本站收录!</font><br><br><a href=$liuyan target=_blank>请把您想听的歌告诉我!</a></p>";
foreach (@html_error) {
$_ =~ s/\$error/$error/g;
$_ =~ s/\$images/$images/g;
$_ =~ s/\$bqsm/$bqsm/g;
$_ =~ s/\$nameerror/$nameerror/g;
$_ =~ s/\$cgiurl/$cgiurl/g;
}
print "@html_error";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -