PHP - 获取在另一个PHP文件中回显的XML文件,然后将回显的XML输出保存到服务器

时间:2013-08-13 00:20:11

标签: php xml file-io

我有一个名为xml_generate.php的PHP文件 - 它创建了一个DOM对象并在最后回显它。

让我们说它看起来像这样:

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

$dom = new DOMDocument('1.0');
$node = $dom->createElement('foo');
$root = $dom->appendChild($node);

$node = $dom->createElement('bar');
$new_node = $root->appendChild($node);

echo $dom->saveXML();

我从jQuery访问此文件并在客户端显示内容。实际的xml_generate.php从数据库动态创建DOM。

但是,我希望有一个PHP文件,它将创建generate_xml.php生成的XML备份并将其保存到服务器。

因此,我需要以某种方式访问​​该XML文档(在xml_generate.php中动态创建的文档)。

我尝试了一些不同的函数来从xml_generate.php获取XML,例如:

$xml = http_get('xml_generate.php');

$xml = file_get_contents('xml_generate.php');

以及只包含第一个文件(include('xml_generate.php'),然后只是尝试访问该文件中的$dom变量。)

但我似乎无法做对。有关最佳方法的任何想法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Output Buffering,它将缓冲发送到输出流的所有数据,然后在包含您的脚本后检索它:

ob_start();
include "xml_generate.php";
$xml = ob_get_contents();
ob_end_clean();

确保捕获错误@“xml_generate.php”,或者这些也会被缓冲,你最终会得到一个无效的xml备份。