【发布时间】:2013-05-07 08:21:32
【问题描述】:
这是一个 RSS 源 (A),用户可以在其中添加多张图像,但他/她也可以添加来自不同用户的带有图像的 RSS 源 (B)。当请求提要 (A) 时,服务器会获取提要 (B),然后将提要中的图像添加到请求的提要 (A) 中。
有哪些机制或选项可以防止无限循环递归?
例如当饲料(B)还包括饲料(A)时
// Feed A setup
// - image1a
// - image2a
// - feed-B
// Feed B setup
// - image1b
// - feed-A
// fetching / assembling feed A
// - image1a
// - image2a
// - (A fetches feed-B)
// - image1b
// - (B fetches feed-A)
// - image1a
// - image2a
// - (fetched A fetches feed-B again)
// - image1b
// - (second B fetches feed-A again)
// .. recursion
【问题讨论】:
-
您能否展示您的代码以供进一步参考?这样我们都可以知道你在做什么?
-
伪代码或多或少,foreach($items); if($feed) simplexml_load_file($feed); addfeedimages(); - 我开始考虑为单个图像添加唯一的 feed_id,这样如果 feed A 在来自外部 feed 的图像中遇到它自己的 feed_id 之一,则可能会发生递归。如果提要播放器可以忽略 RSS XML 项上的这些额外的 feed_id 节点,这可能会起作用。然而!如果递归发生在提要 (B) 和提要 (C) 之间,那么提要 (A) 将不知道。
-
如果没有示例代码,就很难为您的查询编写完整的代码。你必须展示一些代码工作。然后我们可以提供帮助。
标签: php recursion rss infinite-loop