用PHP實現(xiàn)的隨機廣告顯示代碼
更新時間:2007年06月14日 00:00:00 作者:
<?php
#########隨機廣告顯示##########
function myads(){
$dir="ads"; #設(shè)置存放記錄的目錄
//$dir="ads"; #設(shè)置存放記錄的目錄
$ads="$dir/ads.txt"; #設(shè)置廣告代碼文件
$log ="$dir/ads.log"; #設(shè)置ip記錄文件
$ads_lines=file($ads);
$lines=count($ads_lines);#文件總行數(shù)
####讀出廣告總數(shù)$ads_count和顯示次數(shù)到數(shù)組$display_array########
$ads_count=0;
$display_count=0;
for ($i=0;$i<$lines;$i++){
if((!strcmp(substr($ads_lines[$i],0,7),"display"))){
$ads_count+=1;
$display_array[$ads_count]=substr($ads_lines[$i],8);
$display_count+=$display_array[$ads_count];
}
}
####決定隨機顯示序號$display_rand#####
srand((double)microtime()*1000000);
$display_rand = rand(1,$display_count);
###決定廣告序號$ads_num######
$pricount=0;
$ads_num=1;
for($i=1; $i<=$ads_count; $i++) {
$pricount += $display_array[$i];
if ($display_rand<=$pricount) {$ads_num=$i;break;}
}
#####播放廣告代碼#########
$num=0;
$flag=0;
for($i=0;$i<$lines;$i++){
if((!strcmp(substr($ads_lines[$i],0,7),"display"))){$num++;}
if(($num==$ads_num)and($flag==0)){$flag=1;continue;}
if(($flag==1)and strcmp($ads_lines[$i][0],"#")){echo $ads_lines[$i];continue;}
if(($flag==1)and(!(strcmp($ads_lines[$i][0],"#")))){break;}
}
####紀(jì)錄廣告顯示次數(shù)#########
$fp=fopen($log,"a");
fputs($fp,date( "Y-m-d H:i:s " ).getenv("REMOTE_ADDR")."==>".$ads_num."\n");
fclose($fp);
}
?>
廣告代碼文件ads.txt
########每個廣告代碼之間用'#'隔開,display為顯示加權(quán)數(shù),越大顯示次數(shù)越多################
################################
display=10
<a href=http://www.mi222.cn>
<img src="http://www.mi222.cn/logo.gif" alt="米兒網(wǎng)絡(luò)歡迎您!"> </a>
################################
display=10
<a href=http://www.mi222.cn/dh target=_blank>
<img src="http://www.mi222.cn/dh/QQCF_Pic/logo.gif" width="120" height="60" alt="米兒網(wǎng)址導(dǎo)航,網(wǎng)站免費登陸" border="0"></a>
調(diào)用<?php myads();?>即可
#########隨機廣告顯示##########
function myads(){
$dir="ads"; #設(shè)置存放記錄的目錄
//$dir="ads"; #設(shè)置存放記錄的目錄
$ads="$dir/ads.txt"; #設(shè)置廣告代碼文件
$log ="$dir/ads.log"; #設(shè)置ip記錄文件
$ads_lines=file($ads);
$lines=count($ads_lines);#文件總行數(shù)
####讀出廣告總數(shù)$ads_count和顯示次數(shù)到數(shù)組$display_array########
$ads_count=0;
$display_count=0;
for ($i=0;$i<$lines;$i++){
if((!strcmp(substr($ads_lines[$i],0,7),"display"))){
$ads_count+=1;
$display_array[$ads_count]=substr($ads_lines[$i],8);
$display_count+=$display_array[$ads_count];
}
}
####決定隨機顯示序號$display_rand#####
srand((double)microtime()*1000000);
$display_rand = rand(1,$display_count);
###決定廣告序號$ads_num######
$pricount=0;
$ads_num=1;
for($i=1; $i<=$ads_count; $i++) {
$pricount += $display_array[$i];
if ($display_rand<=$pricount) {$ads_num=$i;break;}
}
#####播放廣告代碼#########
$num=0;
$flag=0;
for($i=0;$i<$lines;$i++){
if((!strcmp(substr($ads_lines[$i],0,7),"display"))){$num++;}
if(($num==$ads_num)and($flag==0)){$flag=1;continue;}
if(($flag==1)and strcmp($ads_lines[$i][0],"#")){echo $ads_lines[$i];continue;}
if(($flag==1)and(!(strcmp($ads_lines[$i][0],"#")))){break;}
}
####紀(jì)錄廣告顯示次數(shù)#########
$fp=fopen($log,"a");
fputs($fp,date( "Y-m-d H:i:s " ).getenv("REMOTE_ADDR")."==>".$ads_num."\n");
fclose($fp);
}
?>
廣告代碼文件ads.txt
########每個廣告代碼之間用'#'隔開,display為顯示加權(quán)數(shù),越大顯示次數(shù)越多################
################################
display=10
<a href=http://www.mi222.cn>
<img src="http://www.mi222.cn/logo.gif" alt="米兒網(wǎng)絡(luò)歡迎您!"> </a>
################################
display=10
<a href=http://www.mi222.cn/dh target=_blank>
<img src="http://www.mi222.cn/dh/QQCF_Pic/logo.gif" width="120" height="60" alt="米兒網(wǎng)址導(dǎo)航,網(wǎng)站免費登陸" border="0"></a>
調(diào)用<?php myads();?>即可
相關(guān)文章
PHP call_user_func和call_user_func_array函數(shù)的簡單理解與應(yīng)用分析
這篇文章主要介紹了PHP call_user_func和call_user_func_array函數(shù)的簡單理解與應(yīng)用,結(jié)合實例形式分析了PHP call_user_func和call_user_func_array函數(shù)的基本功能、用法及操作注意事項,需要的朋友可以參考下2019-11-11
phplist及phpmailer(組合使用)通過gmail發(fā)送郵件的配置方法
這篇文章主要介紹了phplist及phpmailer通過gmail發(fā)送郵件的配置方法,分析了組合使用二者過程中的相關(guān)問題與注意事項,需要的朋友可以參考下2016-03-03
php安全開發(fā) 添加隨機字符串驗證,防止偽造跨站請求
偽造跨站請求比較難以防范,而且危害巨大,攻擊者可以通過這種方式惡作劇,發(fā)spam信息,刪除數(shù)據(jù)等等。那怎么防范偽造跨站攻擊呢2013-02-02

