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