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 相关文章推荐
php一些公用函数的集合
Mar 27 PHP
Discuz!下Memcache缓存实现方法
May 28 PHP
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
PHP数组操作类实例
Jul 11 PHP
WordPress中获取指定分类及其子分类下的文章数目
Dec 31 PHP
微信自定义菜单的创建/查询/取消php示例代码
Aug 05 PHP
Yii2.0中的COOKIE和SESSION用法
Aug 12 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
php中常用字符串处理代码片段整理
2011/11/07 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
PHP反射API示例分享
2016/10/08 PHP
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
Vue 换肤的示例实践
2018/01/23 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
django数据库自动重连的方法实例
2019/07/21 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
python中常见错误及解决方法
2020/06/21 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
2013年入党人员的自我鉴定
2013/10/25 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
上海世博会口号
2014/06/19 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL
详细介绍python操作RabbitMq
2022/04/12 Python