我写了一个测试网页post_test.php,向a.php送post消息,消息内容是简单XML元素。a.php正确接收并处理,同时a.php要直接输出字符串内容,并让post_test.php可以用file_get_contents函数接收到。返回的内容也是格式相同的简易XML文档,其中有一处结点内容是时间戳,用time()函数生成。可奇怪的就是,不论是a.php自己输出,还是post_test.php用file_get_contents接收,用echo输出的内容仅仅是时间戳,而用var_dump输出的是XML内容的字符串。
为何var_dump和echo、print等函数输出的内容完全是两码事?
很明显,var_dump得到的内容是我期望的,如何才能让post_test.php接收到的内容是XML字符串呢?
我注意到,跟time()没关系。
XML文档中的大部分节点的内容都适用<![CDATA[……]]>引用的,唯有时间戳那个结点是直接写数字的。我发现,那个没有用CDATA引用的部分,会直接出现在echo的输出中,以及file_get_contents()的返回值中。为何会出现这种状况?该如何修正?
慕后森
慕尼黑5688855