#########ランダムな広告表示##########
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),"表示" ))){
$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; 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] ;続行;}
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
########各広告コードは「#」で区切られた表示は、表示の重み付けの数値です。数値が大きいほど、表示される回数が多くなります。 More###### display=10