php 新浪财经rss,php动态生成xml格式的rss文件
当下RSS比较流行,RSS是用XML来书写的,于是想给自己的网站也写一个XML文件。可是每增加一条内容都手动写进XML文件,显然太麻烦,于是就想怎么用PHP文件实现自动生成。
RSS文件格式一般是这样的:
?> #开始标签部分,即后边说到的 temp1.xml;
网页标题
http://www.***.com
有关描述
#主体部分,后边说到的temp2.xml;
{title}
{link}
{maintext}
#关闭标签部分,后边说到的temp3.xml;
我们给以上这段代码起个名字叫temp.xml,PHP生成静态页面的原理是:PHP读取temp.xml模板文件,解析处理后将得出的“结果”再填充回模板(如果想生成HTML静态页面,
echo “结果“就可以了),然后用 fopen( ) 函数建立一个新文件rss.xml,用 fwrite( )
将“结果”写进新文件。
我们还看上边的temp.xml模板文件,在标签内的项应该有很多,在php程序里这部分我们要写一个循环,你的网站或博客每增加一篇文章就要向rss.xml追加一个项。所以我们需要把temp.xml文件开始、主体、结束三个部分分为三个文件temp1.xml、temp2.xml、temp3.xml在PHP程序里分别加载,否则,每次循环,fwrite()都会将开始标签和结束部分标签也向
rss.xml写一次。而这两部分标签在rss.xml文件里只能出现一次,否则rss.xml文件在浏览器里不能正常执行。下边来看php程序代码test.php:
$fp = fopen (”temp1.xml”,”r”);
$content = fread ($fp,filesize (”temp1.xml”)); #读入打开文件的内容;
$filename = “test/rss.xml”;
#拟将rss.xml文件最后生成在test目录下,test目录要具有写权限;
$handle = fopen ($filename,”w”); #fopen,即打开文件,若文件不存在,则自动创建;
if (!is_writable ($filename)){die
(”文件:”.$filename.”不可写,请检查其属性后重试!”);}
if (!fwrite ($handle,$content)){die (”生成文件”.$filename.”失败!”);}
$i=0;
$link= mysql_connect(”localhost”,”username”,”passwd”);
$result= mysql_db_query(”database”,”select * from table order by id
desc”);
$k = mysql_num_rows($result);
while( $i
{
$result= mysql_db_query(”gfs”,”select * from news order by id desc
limit $i,1″);
$a = mysql_fetch_array($result);
$b=$a[’id’];
$i++;
$title = $a[’title’];
$link = “http://www.hbgrs.org/news.php?target=’$b’”;
$maintext=$a[’content’];
$fp = fopen (”temp2.xml”,”r”);
$content = fread ($fp,filesize (”temp2.xml”));
$content = str_replace (”{title}”,$title,$content);
#替换模板变量中的数据;
$content = str_replace (”{link}”,$link,$content);
$content = str_replace (”{maintext}”,$maintext,$content);
$filename = “test/rss.xml”;
$handle = fopen ($filename,”a”); #注意这里是a,不是w,因为要追加不是覆盖数据。
if (!is_writable ($filename)){die
(”文件:”.$filename.”不可写,请检查其属性后重试!”);}
if (!fwrite ($handle,$content)){die
(”生成文件”.$filename.”失败!”);}
}
$fp = fopen (”temp3.xml”,”r”);
$content = fread ($fp,filesize (”temp3.xml”));
$filename = “test/rss.xml”;
$handle = fopen ($filename,”a”);
if (!is_writable ($filename)){die
(”文件:”.$filename.”不可写,请检查其属性后重试!”);}
if (!fwrite ($handle,$content)){die
(”生成文件”.$filename.”失败!”);}
fclose ($handle);
die (”成功!”);
?>
php 新浪财经rss,php动态生成xml格式的rss文件相关推荐
- 【csv文件转xml文件】Excel表格数据快速批量生成xml格式文件
使用背景: 使用场景举例:数据集标签处理 有时候我们需要将固定格式的Excel表格文件(csv文件)转换为xml文件使用,例如我们在目标检测实验当中我们需要制作数据集Pascal VOC格式的标签文件 ...
- php生成gif动态图片_动态生成gif格式的图像要注意?
动态生成gif格式的图像要注意? 更新时间:2006年10月09日 00:00:00 作者: 如果你用 int imagecreatefromgif(string filename); 来取出一张 ...
- python解析log文件_python解析基于xml格式的日志文件
大家中午好,由于过年一直还没回到状态,好久没分享一波小知识了,今天,继续给大家分享一波Python解析日志的小脚本. 首先,同样的先看看日志是个啥样. 都是xml格式的,是不是看着就头晕了??没事,我 ...
- Java生成真正格式的Excel文件
一般情况下如果想完全通过自己手工组装的方式去生成一个Excel文件,可以先在pom.xml文件中引入下述依赖: <dependency><groupId>com.github. ...
- python使用fpdf生成发票格式的pdf文件包含:文字、图片logo、表格、条形码等;
python使用fpdf生成发票格式的pdf文件包含:文字.图片logo.表格.条形码等: pip install fpdf #python使用fpdf生成发票格式的pdf文件包含:文字.图片logo ...
- java根据pdf模板生成指定格式的pdf文件
java根据pdf模板生成指定格式的pdf文件 一.工具准备 事先得准备好Adobe Acrobat DC,这是一款专门编辑pdf的工具,小编已经给大家准备好了. 链接:https://pan.bai ...
- python 读取excel格式xml,读取xml格式的xls文件、解析其中数据
1.python 读取excel格式xml,解析其中数据 当excel文件的格式是xml的时候,window系统是可以正常打开的,但是使用pandas直接读取则会报错,原因就是现在已经是xml文件了, ...
- pdmreader支持读取xml格式的pdm文件,无法读取二进制格式的pdm文件。
您的Pdm数据字典文件可能不被PDMReader读取,可能是因为pdm文件版本的问题.但 您可以通过PowerDesigner12(下载PowerDesigner12)进行转换 后进行读取. 您要做的 ...
- PDMReader软件,打开.pdm文件,提示要将这个pdm文件重新保存为xml格式的pdm文件,但是保存的明明就是xml格式的pdm文件,但还是不行,为什么?
PDMReader软件,打开.pdm文件,提示要将这个pdm文件重新保存为xml格式的pdm文件,但是保存的明明就是xml格式的pdm文件,但还是不行,为什么? pdmReader的版本和powerd ...
最新文章
- Linux内核学习总结
- 17岁「天才少女」被8所世界名校录取,最终选择MIT计算机系,还说学成后肯定回国...
- gin redis 链接不上_内存优化,Redis是如何实现的!
- LeetCode7.整数反转 JavaScript
- boost::rotate相关的测试程序
- java 注入 循环_spring依赖注入——循环依赖
- 丘成桐:用10年时间培养一批本土一流基础科学人才
- linux tomcal 看日志,cal命令 – 显示日历
- NS3 MyApp Class Reference
- org manual翻译--3.6 Org-Plot
- Perl面向对象编程
- Mac效率工具:Mosaic 1.3.3
- List、Set、Map比较
- Python面向对象成员修饰符
- mapxtreme相关
- Sql Server 还原数据库并重命名
- vscode免密登录需要更改authorized_keys的权限
- 协调世界时--UTC
- 【图像识别与处理】构建用于垃圾分类的图像分类器
- [2019牛客多校训练第3场]Median
热门文章
- 计算机网络(二十四)UDP及TCP首部的格式
- 黑客盗走银行3亿比索|Rowhammer变体出现|DHS发布网络安全战略
- 数据结构学习笔记——线性表逻辑结构和顺序存储结构
- qt串口阻塞_Qt串口操作
- iview table表格单元格的动态合并
- NXP i.MX 8M Mini 核心板规格参数,四核ARM Cortex-A53 + ARM Cortex-M4
- 使用ARM-LPC3131上的nandflash实现U盘模式心得(一)
- 爬虫其实很简单!——网络爬虫快速实现(一)
- 解决qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found.
- 132计算机毕业设计