File: /www/wwwroot/www.movieloversky.com/PVtraffic/DisplayCode.php
<?php
/*
指定PV值内指定链接转向例程
回忆月光 qq:386925916
*/
class DisplayClickCode {
public function DisplayCode(){
// 载入设置文件
require_once('Setting.php');
require_once('ClickInterval.php');
// 判断当前PV是否与设置的PV相等,$this->表示使用当前类的指定函数:)
if($this->SavePageViews($ClickInterval,$ClickIntervalArray) == $ClickInterval){
//echo $DisplayClickCode;
$clickURLArrayKey = getClickURL();
$clickURL = $clickURLArray[$clickURLArrayKey];
$DisplayClickCode = "<img src=\"$clickURL\" width=\"1\" height=\"1\" border=\"0\"/>";
echo $DisplayClickCode;
}
}
private function SavePageViews($ClickInterval,$ClickIntervalArray){
$file = 'PVtraffic/PVLog.php';
// 判断记录日志文件是否存在
if(file_exists($file)){
// 日志文件存在的情况,存在就载入这个日志文件
include $file;
// 检查日志文件中变量是否是整数型,就是说看看变量类型是否正确,防止出错
if(is_int($pv)){
//如果变量类型正确,将日志文件中的PV值再+1,然后将结果重新写到日志文件中,并返回新的PV值
$pv++;
if($pv > $ClickInterval){
$ClickInterval = $ClickIntervalArray[array_rand($ClickIntervalArray)];
$this->changeClickInterval($ClickInterval);
$pv = 1;
}
$this->WriteFile($file,'w','<?php $pv='.$pv.'; ?>');
return $pv;
}else{
//如果变量类型不正确,就从写文件,重新设置PV为1
$this->WriteFile($file,'w','<?php $pv=1; ?>');
return 1;
}
}else{
// 不存在的情况,将1写入到日志文件,返回值1,表示得到记录的PV值为1
$this->WriteFile($file,"w",'<?php $pv=1; ?>');
return 1;
}
}
private function WriteFile($file,$mode,$content){
// 打开或新建文件,详细看php手册,fopen函数
$handle = fopen($file, $mode);
// 写文件
fwrite($handle, $content);
// 关闭文件句柄
fclose($handle);
}
private function changeClickInterval($ClickInterval){
$file = 'PVtraffic/ClickInterval.php';
$this->WriteFile($file,'w','<?php $ClickInterval='.$ClickInterval.'; ?>');
}
}
?>