我正在尝试使用php创建一个包含测验问题列表的临时xml文件。随机列表是从php中的数据库生成的,我需要将其保存为可写的临时xml文件,直到测验完成。我一直收到以下错误:
警告:simplexml_load_file()[function.simplexml-load-file]:/ tmp / quiz7YRGPo:1:解析器错误:开始标记期望,'<'在第154行的/home/dir/public_html/website.com/quiz/index.php中找不到
警告:simplexml_load_file()[function.simplexml-load-file]:第154行/home/dir/public_html/website.com/quiz/index.php中的quiz_data.xml
警告:simplexml_load_file()[function.simplexml-load-file]:^在第154行的/home/dir/public_html/website.com/quiz/index.php
这是代码:
// name of XMLPHP file which contains quiz data
$xml_file = 'http://website.com/quiz/dynamic_php_page_generates_xml.php?param=var¶m2=var2';
// create randomXML file
$tempquiz = tempnam('/tmp','quiz');
$fp_tempquiz = fopen($tempquiz, "w");
fwrite($fp_tempquiz, $xml_file);
//CLOSE temp file
fclose($fp_tempquiz);
// create new SimpleXML object from XML file
$quiz = simplexml_load_file($tempquiz);
如何使用php创建临时xml文件,以便每次加载页面时测验都是唯一的?
答案 0 :(得分:0)
据我所知,您只是将其写入XML文件:
http://website.com/quiz/dynamic_php_page_generates_xml.php?param=var¶m2=var2
因为fwrite($fp_tempquiz, $xml_file);
不知道这是您要加载的链接。您需要加载XML数据,而不是链接到它。
答案 1 :(得分:0)
应该是
$xml_file = file_get_contents('http://website.com/quiz/dynamic_php_page_generates_xml.php?param=var¶m2=var2');
答案 2 :(得分:0)
$xml_file
包含文件的URL,而不是实际的XML内容。您应该首先使用file_get_contents
函数阅读它,例如:
$xml_content = file_get_contents($xml_file);
fwrite($fp_tempquiz, $xml_content);