用PHP程序实现随机广告图片显示
以下为引用的内容:
<?php
//########随机广告显示##########
function myads() {
$dir = "ads"; //设置存放记录的目录
//$dir="ads"; #设置存放记录的目录
$ads = "$dir/ads.txt"; //设置广告代码文件
$log = "$dir/ads.log"; //设置ip记录文件
$ads_lines = file($ads);
$lines = count($ads_lines); //文件总行数
//###读出广告总数$ads_count和显示次数到数组$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;
}
}
//###纪录广告显示次数#########
$fp = fopen($log, "a");
fputs($fp, date("Y-m-d H:i:s ") . getenv("REMOTE_ADDR") . "==>" . $ads_num . "n");
fclose($fp);
}
?>广告代码文件ads.txt
以下为引用的内容:
########每个广告代码之间用'#'隔开,display为显示加权数,越大显示次数越多######
display=10
<a href="广告1连接地址">
<img src="/images/banner/webjxcomad1.gif" alt="广告1"> </a>
################################
display=10
<a href="广告2连接地址" target=_blank>
<img src="/images/banner/webjxcomad2.gif" width="468" height="60" alt="广告2" border="0"></a>
调用
<?php myads(); ?>
即可
本文地址:http://www.phprm.com/develop/bf5c64ee0f4a9ff2e014bc3b4c7f6afa.html
转载随意,但请附上文章地址:-)