📄 search.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;
}
#################取出输入变量###############
$search = $FORM{'search'};
$music_ss = $FORM{'ss'};
$music_ssfl = $FORM{'ssfl'};
################判断动作##################
if(($search eq "")&&($music_ss eq "")){&errors; exit;}
if($search ne ""){&sszjlb; exit;}
if($music_ss ne ""){&sszjxs; exit;}
#######################################
sub sszjlb{
if($music_ssfl ne ""){
@music_gs_fl=split(/\-/,$music_ssfl);
open(MENULISTFL,"$listfile");
@menulistfl=<MENULISTFL>;
close (MENULISTFL);
foreach $menulistfl (@menulistfl){if ($menulistfl=~/^@music_gs_fl[0]/){
@searchlist=(@searchlist,$menulistfl);}}
}
else{
&errors;
}
open(HTMLZJLB,"$htmlhead/$htmlzjlb")||die $!;
@html_zjlb=<HTMLZJLB>;
close (HTMLZJLB);
foreach $searchlist (@searchlist) { $searchlist=~ s/\n//g; @out_searchlist = split(/\#/,$searchlist); foreach $out_searchlist (@out_searchlist){ @one_out_searchlist = split(/\|/,$out_searchlist); if (@one_out_searchlist[0] =~/^[a-zA-Z]/){ $kindno=@one_out_searchlist[0]; }else{ open(SEARCHDATA,"$datahead/$kindno\-@one_out_searchlist[0]\.txt"); @searchdata=<SEARCHDATA>; close (SEARCHDATA); @allsearchdata=(@allsearchdata,@searchdata); } } }
foreach $oneallsearchdata (@allsearchdata){ if($oneallsearchdata=~"$search"){ @out_searchdata=(@out_searchdata,$oneallsearchdata); } }
$gj=0;
$zjwz=0;
$zjjs=1;
@gszj_sj=split(/\|/,$out_searchdata[$gj]);
while(@gszj_sj !=""){
@cn=split(/\-/,$gszj_sj[0]);
&ssgsname;
$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=$searchcgi?ss=$gszj_sj[0] 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(/\|/,$out_searchdata[$gj]);
}
if ($gj==0){
&errors;}
else{
$gs_name="根据您的关键字:$search 搜索到的相关";
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;
}
print "@html_zjlb";}
}
###############################
sub sszjxs{
open(HTMLZJXS,"$htmlhead/$htmlzjxs")||die $!;
@html_zjxs=<HTMLZJXS>;
close (HTMLZJXS);
@cn=split(/\-/,$music_ss);
open(GSFLIE,"$datahead/@cn[0]\-@cn[1]\-@cn[2]\.txt")|| die &errors;
@gszj_sy=<GSFLIE>;
close (GSFLIE);
foreach $gszjls (@gszj_sy) { @gszj_ls = split(/\|/,$gszjls);
if (@gszj_ls[0] eq $music_ss){
$music_xx=$gszjls;}}
@gszj_xx=split(/\|/,$music_xx);
$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]";
}
&ssgsname;
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 ssgsname{
$name_gs=@cn[2];
@name_fl="@cn[0]\-@cn[1]";
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 errors{
open (ERRORHTML,"$htmlhead/$errorhtml");
@html_error=<ERRORHTML>;
close (ERRORHTML);
$nameerror="没找到";
$error="<br><br><font size=3>对不起!根据您的关键字</font><font size=3 color=red>$search</font><font size=3>没有搜索到歌曲!</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;
}
print "@html_error";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -