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一些服务器端特性的配置加强php的安全
Oct 09 PHP
关于PHP中操作MySQL数据库的一些要注意的问题
Oct 09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Dec 02 PHP
php数据库密码的找回的步骤
Jan 12 PHP
PHP递归返回值时出现的问题解决办法
Feb 19 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
Jun 03 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
Jun 29 PHP
PHP中使用curl伪造IP的简单方法
Aug 07 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
Mar 02 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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
laravel学习教程之关联模型
2016/07/30 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
js 加密压缩出现bug解决方案
2014/11/25 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
struct和class的区别
2015/11/20 面试题
银行实习生自我鉴定范文
2013/09/19 职场文书
应聘美工求职信
2013/11/07 职场文书
给老师的检讨书
2014/02/11 职场文书
忠诚教育心得体会
2014/09/03 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
市场部经理岗位职责
2015/02/02 职场文书
华山导游词
2015/02/03 职场文书
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js