我想从我的服务器运行一个cronjob,它从远程位置提取rss feed文件并复制到我的服务器。这样我服务器中的rss feed文件将是最新的远程文件。
但是cronjob很简单。我无法从命令创建/运行cronjob,而是通过选择时间/日和用于该cronjob的文件来为我的域安排cronjob,以便它在预定时间触发文件。该文件中的PHP代码将完成剩下的工作。但是不知道如何让脚本将rss从远程url提取到我的服务器。你有一个想法/脚本可以工作吗。
我的意思是说我想通过替换旧文件(如果有的话)将rss feed文件的新副本从远程服务器复制并粘贴到我的服务器位置,这个过程在我的每个时间表中继续
我不想从rss Feed中提取内容项,而是希望文件复制/粘贴
答案 0 :(得分: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。