0

我有一个名为的 PHP 文件xml_generate.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文件中的变量)。

但我似乎无法做到这一点。关于最佳方法的任何想法?

4

1 回答 1

1

You could use Output Buffering, which will buffer any data sent to the output stream, and then retrieve that after including your script:

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

Make sure to catch errors @"xml_generate.php" though, or these will be buffered as well and you'll end up with an invalid xml backup.

于 2013-08-13T00:44:27.473 回答