2014-11-25 42 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);