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