PHP生成RSS文件类实例


Posted in PHP onDecember 05, 2014

本文实例讲述了PHP生成RSS文件类文件。分享给大家供大家参考。具体如下:

PHP RSS 生成类实例代码如下:

<?php 

if (defined('_class_rss_php')) return; 

define('_class_rss_php教程',1); 

/** 

 

 *  使用说明: 

 *  $rss = new rss('redfox','http://3water.com/',"redfox's blog"); 

 *  $rss->additem('rss class',"https://3water.com","xxx",date()); 

 *  $rss->additem(...); 

 *  $rss->savetofile(...); 

 */ 

 

class rss { 

   //public 

   $rss_ver = "2.0"; 

   $channel_title = ''; 

   $channel_link = ''; 

   $channel_description = ''; 

   $language = 'zh_cn'; 

   $copyright = ''; 

   $webmaster = ''; 

   $pubdate = ''; 

   $lastbuilddate = ''; 

   $generator = 'redfox rss generator'; 

 

   $content = ''; 

   $items = array(); 

 

   function rss($title, $link, $description) { 

       $this->channel_title = $title; 

       $this->channel_link = $link; 

       $this->channel_description = $description; 

       $this->pubdate = date('y-m-d h:i:s',time()); 

       $this->lastbuilddate = date('y-m-d h:i:s',time()); 

   } 

 

   function additem($title, $link, $description ,$pubdate) { 

       $this->items[] = array('titile' => $title , 

                        'link' => $link, 

                        'description' => $description, 

                        'pubdate' => $pubdate); 

   } 

 

   function buildrss() { 

       $s = "<!--l version="1.0" encoding="gb2312"--> "; 

       // start channel 

       $s .= " "; 

       $s .= " " 

       $s .= "<link />{$this->channel_link} "; 

       $s .= "{$this->channel_description} "; 

       $s .= "{$this->language} "; 

       if (!emptyempty($this->copyright)) { 

          $s .= "{$this->copyright} "; 

       } 

       if (!emptyempty($this->webmaster)) { 

          $s .= "{$this->webmaster} "; 

       } 

       if (!emptyempty($this->pubdate)) { 

          $s .= "{$this->pubdate} "; 

       } 

 

       if (!emptyempty($this->lastbuilddate)) { 

          $s .= "{$this->lastbuilddate} "; 

       } 

 

       if (!emptyempty($this->generator)) { 

          $s .= "{$this->generator} "; 

       } 

       

       // start items 

       for ($i=0;$iitems),$i++) { 

           $s .= " "; 

           $s .= " "; 

           $s .= "<link />{$this->items[$i]['link']} "; 

           $s .= "<!--data[{$thi-->items[$i]['description']}]]> "; 

           $s .= "{$this->items[$i]['pubdate']} ";           

           $s .= " "; 

       } 

      

      // close channel 

      $s .= " "; 

      $this->content = $s; 

   } 

 

   function show() { 

       if (emptyempty($this->content)) $this->buildrss(); 

       header('content-type:text/xml'); 

       echo($this->content); 

   } 

 

   function savetofile($fname) { 

       if (emptyempty($this->content)) $this->buildrss(); 

       $handle = fopen($fname, 'wb'); 

       if ($handle === false)  return false; 

       fwrite($handle, $this->content); 

       fclose($handle); 

   } 

} 

?>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
改进的IP计数器
Oct 09 PHP
php 之 没有mysql支持时的替代方案
Oct 09 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
php md5下16位和32位的实现代码
Apr 09 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
php中get_cfg_var()和ini_get()的用法及区别
Mar 04 PHP
功能强大的PHP发邮件类
Aug 29 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
PHP链表操作简单示例
Oct 15 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
php实现两表合并成新表并且有序排列的方法
Dec 05 #PHP
ThinkPHP中redirect用法分析
Dec 05 #PHP
php查询ip所在地的方法
Dec 05 #PHP
smarty实现多级分类的方法
Dec 05 #PHP
Codeigniter框架实现获取分页数据和总条数的方法
Dec 05 #PHP
常见php数据文件缓存类汇总
Dec 05 #PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
Dec 05 #PHP
You might like
PHP获取windows登录用户名的方法
2014/06/24 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
Javascript 入门基础学习
2010/03/10 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
JS分页效果示例
2013/10/11 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
jquery实现简单实用的轮播器
2017/05/23 jQuery
JS Input里添加小图标的两种方法
2017/11/11 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
JS如何生成动态列表
2020/09/22 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
python多线程操作实例
2014/11/21 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
Python使用20行代码实现微信聊天机器人
2020/06/05 Python
入党申请人的自我鉴定
2013/12/01 职场文书
计算机专业学生求职信分享
2013/12/15 职场文书
项目副经理岗位职责
2013/12/30 职场文书
消防安全员岗位职责
2014/03/10 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
安全宣传标语口号
2014/06/06 职场文书
三年级学生期末评语
2014/12/26 职场文书