//更新點擊數
$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');
}
}
}