大家都知道seowhy基础指南右上角的10个最新帖子是从seowhy论坛调出来的,很多朋友都想要在自己网站的首页调用二级目录论坛的最新帖子,只要能调出论坛html格式的网页,首页调用就很简单了。
具体方法:
新建一个文本文件,把以下代码保存在文本文件中,然后把它重命名为cron_makehtml_daily.php,即php文件,然后通过ftp工具把cron_makehtml_daily.php上传到论坛目录下的/source/include/cron/目录中.
- <?php
- if(!defined(‘IN_DISCUZ’)) {
- exit(‘Access Denied’);
- }
- $newhtml = ”;
- $query = DB::query(“SELECT t.*, f.name FROM bbs_forum_thread t, bbs_forum_forum f WHERE t.fid=f.fid and f.fid IN(’2′,’36′,’37′,’39′,’40′,’42′) ORDER BY t.dateline DESC LIMIT 0, 10″); //这里要修改你自己想要调用的版块ID
- while($new = DB::fetch($query)) {
- $newsubject = cutstr($new['subject'],48);
- $newurl = ‘http://www.100de.com.cn/bbs/thread-’.$new['tid'].’-1-1.html’;
- $newhtml .= ‘<li><a target=”_blank” href=”‘.$newurl.’”>’.$newsubject.’</a></li>’;
- }
- $newhtml = convert_data($newhtml);
- writehtml(‘newhtml.htm’, $newhtml);
- //写入html文件
- function writehtml($file, $html) {
- global $timestamp;
- $yearmonth = gmdate(‘Ym’, $timestamp + 8 * 3600);
- $logdir = DISCUZ_ROOT.’./data/cache/’;
- $logfile = $logdir.$file;
- if($fp = @fopen($logfile, ‘w’)) {
- @flock($fp, 2);
- fwrite($fp, “$html”);
- fclose($fp);
- }
- }
- function convert_data($data) {
- include_once DISCUZ_ROOT.’./source/class/class_chinese.php’;
- $c = new Chinese(‘utf8′,’gbk’);
- $data = $c->Convert($data);
- return $data;
- }
- ?>
上面是SEOWHY提供给我的代码,因为我本身的服务器环境是utf-8的,所以我注释了2段代码,才显示正常
第一段代码,是编码转换
//$newhtml = convert_data($newhtml);
第二段代码,编码转换的方法
然后登陆论坛后台管理中心,工具->计划任务,增加一个新的计划任务名“输出html”,名字可以自己取,然后点击这个任务的“编辑”,在“任务脚本”里面输入:cron_makehtml_daily.php,其他更新时间设置,自己选择,也可以保持默认,点击“提交”。
然后,通过这个地址=http://你的网址/bbs/data/cache/newhtml.htm,可以获得html格式的论坛最新10个帖子,如果显示乱码,切换到UTF-8编码下查看。
然后在首页index.php中,添加一个方法:
- function readBbsHtml() //output bbs latest topic
- {
- $content = file(“http://你的网址/bbs/data/cache/newhtml.htm“);
- $content = implode(“/n”,$content);
- return $content;
- }
新闻热点
疑难解答