利用緩存 更新點擊數

 

//更新點擊數
$delayviewcount = 1;
if($delayviewcount == 1) {
 $logfile = './cachedata/cache/cache_picviews.log';
 if(substr($timestamp, -1) == '0') {
  updateviews('zbhds', 'id', 'views');
 }

 if(@$fp = fopen(X_ROOT.$logfile, 'a')) {
  fwrite($fp, "$id/n");
  fclose($fp);
 }
} else {
 $db->query("UPDATE {$tablepre}zbhds SET views=views+1 WHERE id='$id'", 'UNBUFFERED');
}
//end

 其中用一了updateviews函數

function updateviews($table='',$key='',$col='') {
 global $logfile, $db, $tablepre;

 $viewlog = $idarray = $viewarray = array();
 if(@$viewlog = file($logfile)) {
  @unlink($logfile);

  foreach($viewlog as $id) {
   $id = intval($id);
   if($id) {
    $idarray[$id]++;
   }
  }

  foreach($idarray as $id => $views) {
   $viewarray[$views] .= ','.$id;
  }

  foreach($viewarray as $views => $ids) {
   $db->query("UPDATE {$tablepre}{$table} SET $col=$col+$views WHERE $key IN (0$ids)", 'UNBUFFERED');
  }
 }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章