php专区

 首页 > php专区 > PHP应用 > CMS建站 > 调用DISCUZ X2.5论坛html格式的帖子方法 - Discuz

调用DISCUZ X2.5论坛html格式的帖子方法 - Discuz

分享到:
【字体:
导读:
          大家都知道seowhy基础指南右上角的10个最新帖子是从seowhy论坛调出来的,很多朋友都想要在自己网站的首页调用二级目录论坛的最新帖子,只要能调出论坛html格式的网页,首页调用就很简单...

调用DISCUZ X2.5论坛html格式的帖子方法

大家都知道seowhy基础指南右上角的10个最新帖子是从seowhy论坛调出来的,很多朋友都想要在自己网站的首页调用二级目录论坛的最新帖子,只要能调出论坛html格式的网页,首页调用就很简单了。

具体方法:

新建一个文本文件,把以下代码保存在文本文件中,然后把它重命名为cron_makehtml_daily.php,即php文件,然后通过ftp工具把cron_makehtml_daily.php上传到论坛目录下的/source/include/cron/目录中.

  1.  
  2. if(!defined(‘IN_DISCUZ’)) { 
  3. exit(‘Access Denied’); 
  4. $newhtml = ”; 
  5. $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 
  6. while($new = DB::fetch($query)) { 
  7. $newsubject = cutstr($new['subject'],48); 
  8. $newurl = ‘http://www.100de.com.cn/bbs/thread-’.$new['tid'].’-1-1.html’; 
  9. $newhtml .= ‘
  10. $newurl.’”>’.$newsubject.’
  11. ’; 
  12. $newhtml = convert_data($newhtml); 
  13. writehtml(‘newhtml.htm’, $newhtml); 
  14. //写入html文件 
  15. function writehtml($file$html) { 
  16. global $timestamp
  17. $yearmonth = gmdate(‘Ym’, $timestamp + 8 * 3600); 
  18. $logdir = DISCUZ_ROOT.’./data/cache/’; 
  19. $logfile = $logdir.$file
  20. if($fp = @fopen($logfile, ‘w’)) { 
  21. @flock($fp, 2); 
  22. fwrite($fp, “$html”); 
  23. fclose($fp); 
  24. function convert_data($data) { 
  25. include_once DISCUZ_ROOT.’./source/class/class_chinese.php’; 
  26. $c = new Chinese(‘utf8′,’gbk’); 
  27. $data = $c->Convert($data); 
  28. return $data
  29. ?> 

上面是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中,添加一个方法:

  1. function readBbsHtml() //output bbs latest topic 
  2. $content = file(“http://你的网址/bbs/data/cache/newhtml.htm“); 
  3. $content = implode(“n”,$content); 
  4. return $content
在首页需要调用的地方,调用readBbsHtml()方法即可。
分享到:
discuz x论坛XShow首页N格最新回复实现静...
discuz x论坛XShow首页N格最新回复实现静态化的方法 找到XShow 首页N格所安装的路径 source/plugin/kk_xshow/template/ 里面有两个文件需要修改,一个是xshow.htm 一个是xshow_tab.htm,用记事本打开这两个文件,查找forum.php?mod=redirect&tid=$thread['tid']&goto=lastpost#lastp...
Discuz X3论坛如何清除“无效楼层,该帖...
Discuz X3论坛如何清除“无效楼层,该帖已经被删除” 相信人气好、管理好的Discuz论坛站长都有删帖或者屏蔽某个经常打广告的ID或者发帖机顶贴的留言,总之这些都是论坛站长们经常会遇到,并且要处理的事情,不过您会发现删除完留言之后发现楼数还是存在的,只是在那一楼的内容显示的是“无效楼层...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……