php – 将rss feed文件从远程位置复制/粘贴到我的服务器的脚本

我想从我的服务器运行一个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.

点赞