2012-10-12 40 views
2

PHP:我得到20篇文章的XML feed,我隨機選擇了3篇文章,並以相同的格式打印xml。隨機挑選的文章應該每天隨機更改,而不是每次刷新。它應該顯示:art4,art2,art19(隨機),但它應該與整個一天的相同文章 - (10)/12/12),明天應該是ART1,art20,art13(另一組隨機)php-xml - 隨機過濾和存儲訂單

<?php 
// Load our XML document 
$doc = new DOMDocument(); 
$doc->load('feed.xml'); 

// Create an XPath object and register our namespaces so we can 
// find the nodes that we want  
$xpath = new DOMXPath($doc); 
$xpath->registerNamespace('p', 'http://purl.org/dc/elements/1.1/'); 

// Random generated xml should go here 

// Write our updated XML back to a new file 
$doc->save('feedout.xml'); 

?> 

由於存儲的物品訂單需要服務器的文件存儲,我可以把那句話。我怎麼可以隨機文章

for ($i = 0; $i < $nodes->3; $i++) { 
$node = $nodes->item($i);} 

感謝

+0

你有什麼樣的持久性存儲?數據庫?文件? APC?你需要跟蹤隨機文章每天選擇一次。而且......這是每個客戶端還是服務器範圍內的事情? – aefxx

回答

1

如何只保存文件帶有日期的名稱,然後檢查日期不存在

// Write our updated XML back to a new file 
     if(!file_exists($date . '_feedout.xml')) 
      $doc->save($date . '_feedout.xml'); 

或者

// Write our updated XML back to a new file 
      if(date("Y/m/d", filemtime('feedout.xml')) != $date) 
       $doc->save('feedout.xml'); 
+0

如果這是複雜的,只是幫助我瞭解如何隨機生成3篇文章中的20篇文章($ i = 0; $ i < $nodes-> 3; $ i ++){ $ node = $ nodes-> item($ i );} – tv4free