class Views {
private $update_time = 1800; //更新,單位秒
private $log_dir = './www.111cn.net/log/'; //檔案存放目錄
private $pid = '0'; //文章ID
function __construct($po_id) {
$pid = (is_numeric($po_id) && $po_id > 0) ? intval($po_id) : 0; //擷取文章ID
$this->pid = $pid;
}
//讀取文檔並將點擊數 + 1
function read(){
if($this->pid > 0){
//$s = "";
$filename = SITE_ROOT.$this->log_dir.'click_log.txt'; //檔案名稱
if (file_exists($filename)) {
$content = file_get_contents($filename);
if($content){
$dary = explode(" ", $content); //把文檔內容數組化
foreach ($dary as $line) {
$data_ary = explode('|', $line);
$ary[$data_ary[0]] = $data_ary[1];
}
}
if (array_key_exists($this->pid, $ary)) { //檢查鍵在數組中是否存在
$ary[$this->pid] = $ary[$this->pid] + 1; //將當前的文章的點擊數加1
} else {
$ary[$this->pid] = 1; //文章ID第一次出現那麼給一個初始值1
}
foreach ($ary as $key => $val) {
$s .= $key.'|'.$val." "; //數組完成再還原成為文檔格式
}
print_r($s);
} else {
$s .= $this->pid.'|1'." "; //這個是初始化文檔www.111cn.net
}
}
$fp = fopen($filename, "w");
if(flock($fp, LOCK_EX)) { //進行排它型鎖定
fwrite($fp, $s);
flock($fp, LOCK_UN); //釋放鎖定
}
fclose($fp);
@chmod($filename, 0777);
}
}
$a = new Views("3");
$a->read();