欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

zblogPHP讀者墻、訪客記錄、訪客頭像方法分享

老白8年前2239瀏覽1評論

 讀者墻,是博客程序,比如zblogPHP這樣的模板需要用到的功能,讀者墻顧名思義就是來到網站的訪客,但細說起來是評論過文章的訪客,因為只有評論了才有記錄存在,才能獲取訪客的名字、頭像、評論數字等信息

zblogPHP讀者墻.png

下面分享的是@鳥兒博客分享的讀者墻代碼:

在include.php里加入:

function 模板ID_Theme_Get_Readers(){
 global $zbp;
$b = mktime(0,0,0,date('m')-1,date('d'),date('Y'));
$e = mktime(0,0,0,date('m'),date('d')+1,date('Y'));
$i=20;
$sql = $zbp->db->sql->Select(
$zbp->table['Comment'],
array('COUNT(comm_ID) AS cnt, comm_Name, comm_HomePage , comm_Email'),
array(
array('<>', 'comm_Name', '訪客'),
array('=', 'comm_AuthorID', 0),
array('BETWEEN', 'comm_PostTime', $b, $e),
array('CUSTOM', '1=1 GROUP BY comm_HomePage')
),
array('comm_PostTime' => 'DESC'),
$i,
null
);
$array=$zbp->db->Query($sql);
$s ="\r\n";
    foreach ($array as $comment) {
        $s .= '<li><a title="" target="_blank" data-original-title="[' . $comment['comm_Name'] . '] 近期點評' . $comment['cnt'] . '次"><img width="36" height="36" class="avatar avatar-36 photo" src="
http://www.gravatar.com/avatar/'
 .md5(strtolower($comment['comm_Email'])).'&amp;r=X&amp;s=36" alt=""></a></li>';
        $s .="\r\n";
    }
$s .="\r\n";
return $s;
}

此時,可以直接調用,而調用代碼為:{模板ID_Theme_Get_Readers()},但這樣調用每次都要獲取數據,對于優化和速度以及訪問量大的博客來說就很有壓力了,所以最好緩存一個文件比較靠譜!

比如在上方代碼中倒數第二行之前加入:

@file_put_contents($zbp->usersdir . 'theme/NBlue/include/duzheqiang.php', $str);

最終上方大段代碼為:

function 模板ID_Theme_Get_Readers(){
 global $zbp;
$b = mktime(0,0,0,date('m')-1,date('d'),date('Y'));
$e = mktime(0,0,0,date('m'),date('d')+1,date('Y'));
$i=20;
$sql = $zbp->db->sql->Select(
$zbp->table['Comment'],
array('COUNT(comm_ID) AS cnt, comm_Name, comm_HomePage , comm_Email'),
array(
array('<>', 'comm_Name', '訪客'),
array('=', 'comm_AuthorID', 0),
array('BETWEEN', 'comm_PostTime', $b, $e),
array('CUSTOM', '1=1 GROUP BY comm_HomePage')
),
array('comm_PostTime' => 'DESC'),
$i,
null
);
$array=$zbp->db->Query($sql);
$s ="\r\n";
    foreach ($array as $comment) {
        $s .= '<li><a title="" target="_blank" data-original-title="[' . $comment['comm_Name'] . '] 近期點評' . $comment['cnt'] . '次"><img width="36" height="36" class="avatar avatar-36 photo" src="" alt=""></a></li>';
        $s .="\r\n";
    }
$s .="\r\n";
@file_put_contents($zbp->usersdir . 'theme/NBlue/include/duzheqiang.php', $str);
return $s;
}

此時就會生成一個duzheqiang.php文件,這時候直接調取這個文件即可:

調取方式:

{module:duzheqiang}

OK! 此時在本站內的讀者墻調用就沒有問題了!


那么問題來了,如果是站外調用zblogPHP的讀者墻信息呢?

外部php程序,可以使用:

PHP
echo file_get_contents('http://www.domain.com/zb_users/theme/NBlue/include/abcdef.php');//也就是產生文件的實際路徑

進行調用。

外部靜態頁面,可以通過js引用以下文件進行動態js調用。

PHP
<?php
require '../../../zb_system/function/c_system_base.php';
require '../../../zb_system/function/c_system_admin.php';
$zbp->Load();
if (!$zbp->CheckPlugin('Nobird_CMS_2')) {$zbp->ShowError(48);die();}
//Nobird_CMS_2 是主題ID
$name = GetVars('name','GET');
$file=$zbp->host . 'zb_users/theme/Nobird_CMS_2/include/'.$name.'.php';
$strcontent=GetHttpContent($file);
echo 'document.write(\''.$strcontent.'\');';
?>

以上內容存為html2js.php,存放在主題文件夾下,然后在靜態頁面使用:

Markup
<script charset="utf-8" type="text/javascript" src="http://127.0.0.1/zb_users/theme/Nobird_CMS_2/html2js.php?name=Nobird_CMS_2_rdtags"></script>

進行調用(此處假設生成的文件名為Nobird_CMS_2_rdtags.php)。