在XML中包含PHP
我正在尝试使用PHP从url获取客户名称在XML中包含PHP,php,xml,Php,Xml,我正在尝试使用PHP从url获取客户名称 www.example.com/card/index.php?name=Fred 并使用PHP将其回送到xml文件中 <?xml version="1.0" encoding="UTF-8"?> <config> <enable_music>true</enable_music> <music_path>music.mp3</music_path
www.example.com/card/index.php?name=Fred
并使用PHP将其回送到xml文件中
<?xml version="1.0" encoding="UTF-8"?>
<config>
<enable_music>true</enable_music>
<music_path>music.mp3</music_path>
<mute_button_visible>true</mute_button_visible>
<text_block>
<![CDATA[<font size="8" color="#B1FFF9"><br><br><br><br><font size="48" color="#B1FFF9">Dear <?php echo "test"; ?>!<font size="22" color="#B1FFF9">
<br>We wish you warm Christmas<br>and Happy New Year!
<br>Be happy and keep smiling!<br><p align="right"><font size="18" color="#4FCCFA"><br><a href="#" target="_blank">www.yourdomain.com</a></font></p>]]>
</text_block>
</config>
符合事实的
音乐.mp3
符合事实的
亲爱的!
我们祝你圣诞快乐,新年快乐!
保持快乐并保持微笑
]>
上面你们可以看到,我只是在尝试回声测试,只是为了让它工作
什么都没有出现,包括回声
这个文件由一个flash文件调用(我包含了这个信息,以防它很重要)
提前感谢
<?php echo $_REQUEST['name']; ?>
这样试试
.php
文件还是.xml
文件?PHP脚本在xml中无法工作echo$\u GET['name']
清理
,以降低安全风险,如sql注入
我建议使用PHP生成XML,调用DOMDocument的输出可以保存为文件,也可以输出为字符串。在下面的示例中,它只是作为字符串返回。该示例测试名为
uname
的GET参数-将其更改为您想要的任何值
<?php
$uname=isset( $_GET['uname'] ) ? $_GET['uname'] : false;
if( $uname ){
$dom=new DOMDocument('1.0','utf-8');
$root=$dom->createElement('config');
$root->appendChild( $dom->createElement('enable_music','true') );
$root->appendChild( $dom->createElement('music_path','music.mp3') );
$root->appendChild( $dom->createElement('mute_button_visible','true') );
$text=$dom->createElement('text_block');
$cdata=$dom->createCDATASection('
<font size="8" color="#B1FFF9"><br><br><br><br><font size="48" color="#B1FFF9">Dear '.$uname.'!<font size="22" color="#B1FFF9">
<br>We wish you warm Christmas<br>and Happy New Year!
<br>Be happy and keep smiling!<br><p align="right"><font size="18" color="#4FCCFA"><br><a href="#" target="_blank">www.yourdomain.com</a></font></p>');
$text->appendChild( $cdata );
$root->appendChild( $text );
$dom->appendChild( $root );
echo '<textarea>'.$dom->saveXML().'</textarea>';
$dom=null;
}
?>
您可以在.xml文件的同一目录中创建.htaccess文件,然后添加以下行:
AddType application/x-httpd-php .xml
这意味着,当web服务器发送.xml文件时,PHP现在将在该目录中的.xml文件上运行。什么不起作用?您的xml文件在.xml文件中吗?您是用PHP生成xml文件,然后在浏览器中显示它,还是像上面那样尝试显示带有PHP标记的xml文件?听起来web服务器没有将您的文件识别为PHP文件,因此PHP没有运行。您的文件名可能以.xml而不是.phpy结尾。您可以尝试设置apache(我猜)服务器以php的形式处理xml文件虽然我认为最好使用php来实际生成xml文件,比如一张电子圣诞卡,并使用一个调用config.xml的flash文件。你知道一种方法,我可以像在php中一样在xml中包含一个文件,或者这不是一个选项吗?当然,它不会起作用。你能从你的flashscrip中调用一个php文件吗。如果是,那么您可以在php中形成一个xml字符串并返回iti。我无法让echo$\u请求['name']正常工作,但它将回显一个单词。变量名称区分大小写。$\u请求不是$\u请求