我有一个名为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
变量。)
但我似乎无法做对。有关最佳方法的任何想法吗?
答案 0 :(得分:1)
您可以使用Output Buffering,它将缓冲发送到输出流的所有数据,然后在包含您的脚本后检索它:
ob_start();
include "xml_generate.php";
$xml = ob_get_contents();
ob_end_clean();
确保捕获错误@“xml_generate.php”,或者这些也会被缓冲,你最终会得到一个无效的xml备份。