2014-11-25 43 views
-1

也許有人可以幫助我,我提供的XML文件是從PHP DB查詢生成的,每個XML文件都有一個唯一的名稱。現在我想準備一個像「獲取最新的xml文件」的功能,但我不知道最好的方法是什麼!提供最新的XML文件php

$xml = simplexml_load_file('test.xml'); 

我發現這個功能,但在那裏我必須知道確切的名字! 或IST這樣的可能:

$xml = simplexml_load_file('test.php'); 

,並在test.php的,我有一個函數來獲取姓氏,但如何我提供的XML數據? 一些關鍵字我怎麼能在谷歌找到解決方案將是非常有益的!

+1

http://www.satya-weblog.com/2008/02/header-for-xml-content-in-php-file.html以一個XML數據看看這個,你可以肯定地在你的PHP文件中顯示xml!只需在php中查看set_header即可。 – Jordy 2014-11-25 12:03:04

+0

謝謝,它幫助我獲得正確的方式! – miholzi 2014-11-26 17:40:52

回答

0

這裏爲我工作

我保護的目錄.htaccess的和裏面存着我所有生成的XML文件,也是getLastXml.php文件,在結束的解決方案!

的getLastXml.php

function get_last_file() { 

    $lastFileTime = 0; 
    foreach (glob("*.xml") as $filename) { 
     if ($lastFileTime<filemtime($filename)) 
      { 
       $lastFileTime = filemtime($filename); 
       $lastFileName = $filename; 
      } 
     } 

    return $lastFileName; 
} 

$lastXmlFile = get_last_file(); 
header ("Content-Type:text/xml"); 
echo file_get_contents($lastXmlFile); 

功能get_last_file()在PHP文件

echo file_get_contents($lastXmlFile); 

返回最新創建的XML文件的名稱和

header ("Content-Type:text/xml"); 

顯示XML加載xml文件的內容並顯示它


simplexml_load_file("http://username:[email protected]/getLastXml.php"); 

負載與

1

該函數的第一個參數是文件名的字符串。該文件應該是要加載的XML文件,所以你不能使用另一個PHP文件。

http://php.net/manual/en/function.simplexml-load-file.php

因此,你需要首先通過使用一個變量來獲取文件名作爲參數。您應該能夠將代碼複製到test.php文件中,然後保存文件名而不是將其回顯出來。然後在加載xml文件時使用該變量。

例如

function get_latest_filename() 
{ 
    //contents of your test.php file should set this variable 
    $latest_filename = 'the_latest_file.xml'; 
    return $latest_filename; 
} 

$latest = get_latest_filename(); 
$xml = simplexml_load_file($latest);