2010-12-15 13 views
3

我想从我的服务器运行一个cronjob,它从远程位置提取rss提要文件并将其复制到我的服务器。这样我的服务器中的rss feed文件就会像远程文件一样保持最新。脚本从远程位置复制/粘贴rss提要文件到我的服务器

但是cronjob是一个简单的。我无法通过命令创建/运行cronjob,而是可以通过选择时间/日期和该cronjob使用的文件来安排我的域的cronjob,以便在预定的时间触发文件。该文件中的php代码将完成剩下的工作。但不知道如何使脚本从远程URL将rss feed与我的服务器连接起来。你有一个想法/脚本这个工作。

我的意思是说,我想从远程服务器的RSS源文件的全新副本,复制并粘贴到我的服务器所在的位置替换旧文件,如果有的话,这个过程在我的每个计划的推移

我不认为从RSS提要拉内容项目,而不是我想要的文件复制/粘贴

+0

只需要获取rss的内容? – yoda 2010-12-15 05:57:51

+0

请参阅xmlReader,php.net上的cUrl – 2010-12-15 05:58:18

+0

用粗体更新了我的问题 – 2010-12-15 06:15:44

回答

2

如果您有fopen()包装启用远程URL,那么它是相当容易。

你的cron PHP文件将是这个样子......

<?php 

// If you are running via CLI, deny all non CLI requests 
if (PHP_SAPI !== 'cli') { 
    exit; 
} 

$remoteFeed = 'http://example.com/feed.rss'; 

$feed = file_get_contents($remoteFeed); 

if ($feed !== FALSE) { 

    file_put_contents('feed.rss', $feed); 

} 

您的文件feed.rss应该是远程文件的副本。如果在获取远程文件时出错,您的本地副本将不会更新。如果远程服务器响应空白响应主体,则将更新

如果您没有allow_fopen_url,那么您将需要使用cURL。

+0

谢谢我将检查此问题并回复给您 – 2010-12-15 06:04:35

+0

我在本地wamp中尝试了此代码,但没有发生任何事情。这是因为我在我的本地服务器。我将$ remotefeed URL更改为rss feed ...但没有任何事情发生 – 2010-12-15 06:13:20

+0

@Rahul删除CLI检查,然后直接访问它 - 查看它是否创建文件。 – alex 2010-12-15 06:15:28

相关问题