用PHP和AJAX创建RSS聚合器

2016-01-29 13:28 6 1 收藏

用PHP和AJAX创建RSS聚合器,用PHP和AJAX创建RSS聚合器

【 tulaoshi.com - PHP 】

此文章原文转自:http://blog.csdn.net/guoguo1980/archive/2006/08/18/1095523.aspx

此文章作者: guoguo1980


 

【导读】想象使用一个简单HTML文件来把一个请求发送到一个服务器端脚本,收到一个基于该请求的定制XML文件,然后把它显示给用户而几乎不需要刷新浏览器!本文作者将同你一起探讨怎样在普通Web应用程序中联合PHP和AJAX技术来创建实时的数据传输而不需要进行浏览器刷新。

尽管本文所使用的是PHP语言,但是请记住任何服务器端语言都会正常工作。为了理解本文,我假定你基本理解JavaScript和PHP或一类似服务器端语言。

本文示例使用AJAX来把一请求从一个RSS馈送发送到一定制的PHP对象。该PHP对象复制一份在本地服务器上的该馈送并返回这一路径。该请求对象收到这一路径,分析它,并且把数据以HTML形式显示给用户。这听起来涉及很多步骤,其实它仅由4个小文件组成。之所以使用了4个小文件,是为了平衡它们各自特定的力量而使整个系统的处理极富效率性。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

我想,有些读者可能会问,为什么你要创建在本地服务器上的馈送的一个副本而不是简单分析最原始的馈送。原因是,这样以来可以允许绕过XML HTTP Request对象所强加的跨域限制。后面,我还会解释怎样创建这个定制的PHP对象;但是首先,让我们从表单创建开始。

创建发出请求的表单

你要做的第一事情是,在你的HTML的head标签之间包括你可能想使用的JavaScript和任何CSS文件。我包括了一个式样表来实现该聚合器的最后布局并用一个JavaScript文件来发出请求和进行馈送分析:

<link href=css/layout.css rel=stylesheet type=text/css />

<script src="http://img.jcwcn.com/attachment/portal"0" bordercolordark="#ffffff" cellpadding="2" width="450" align="center" bordercolorlight="#000000" border="1">

<body onload=javascript:makeRequest('request.php?request=' + document.feedForm.feed.value + 'password=mypassword');>

<form name=feedForm method=post action=javascript:makeRequest('request.php?request=' + document.feedForm.feed.value + 'password=mypassword');>

Enter a feed: <input type=text name=feed id=feed size=20>

<input type=submit name=submit value=Add Feed>

</form>

<div id=logo></div>

<hr/>

<div id=copy></div>

<div id=details></div>

</body>

我所创建的这三个div标签是logo,copy和details,其中每一个都在布局样式表中有一个与之相关联的样式。当我们分析馈送时将会用到它们,但是我们首先需要能够存取我们所请求的馈送。这可以使用我前面所提到的PHP对象来完成。

创建定制的PHP对象

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

我用PHP创建了一个小型RSS类,它在本地服务器上创建一个请求馈送的副本,这样它可以为我们稍后要创建的XML HTTP Request对象所存取。典型地,你不能跨域请求一个文件,这意味着你要请求的文件需要位于本地服务器上。这个类是一种解决跨域问题的办法,因为它创建该馈送的一个副本,这个副本在本地服务器上被请求并且把本地路径返回到该馈送,然后它由该Request对象来存取。

这个类中唯一的方法是一个请求方法,它仅有一个指向所请求的RSS 馈送的URL的参数。然后,它通过rss的名字来检查是否一目录位于本地服务器上。如果不存在,就创建一个并把其权限模式设置为0666,这意味着该目录可读写。当被设置为可读的时,该目录就可以在以后被存取;而当被设置为可写的时,就可以把该馈送的一个副本写向本地服务器上的目录:

//

来源:http://www.tulaoshi.com/n/20160129/1490318.html

延伸阅读
标签: Web开发
    为了排遣这段时间的无聊也顺便做个 RSS 应用的练习,决定给自己维护的一个小网站加个首页新闻,浏览器用 Ajax 或者 Ajah 从服务器取新闻异步的显示出来,同时提供 RSS 源供聚合器订阅。 XMLHTTPRequest 从上次做过一个手机模拟器后就再没碰过,这次在网上搜寻了一番居然发现了一个好东西:http://www.scss.com.au/fam...
标签: PHP
  我使用的是FPDF(www.fpdf.org),下载了fpdf类库后,还要使用下面的中文类库才能支持中文,但只能使用一种中文字体(华文仿宋)。为此我烦恼了很长时间,现在终于搞定了,将TrueType字体转化为pt1字体使用: 下面是在FPDF上找的一个中文类库: <?php require('fpdf.php'); $Big5_widths=array(' '=250,'!'=250,'"'=408,'#'=668,'$...
标签: PHP
  运行MYSQL.EXE mysql create database counter; Query OK, 1 row affected (0.10 sec) mysql use counter; Database changed mysql create table tl(id integer(2),count integer(5)); Query OK, 0 rows affected (0.21 sec) mysql show columns from tl; +-------+--------+------+-----+---------+-------+ | Field | Type &...
  多年以来,创建真正具有响应性的 Web 应用程序这一目标一直被 Web 开发的一个简单事实所阻碍:要改变页面某一部分的信息,用户就必须重载整个页面。但是以后不再会这样了。感谢异步 Java? 脚本和 XML(Ajax),我们现在可以从服务器端请求新内容,只修改页面的一部分。这个教程解释了如何把&nbs...
标签: Web开发
AJAX 请求 在下面的 AJAX 例子中,我们将演示当用户向 web 表单中输入数据时,网页如何与在线的 web 服务器进行通信。 此例包括三张页面: a simple HTML form a JavaScript a PHP page HTML 表单 这是 HTML 表单。它包含一个简单的 HTML 表单和指向 JavaScript 的链接: html head script src="clienthint.js"/script /head body fo...