Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在XML中包含PHP_Php_Xml - Fatal编程技术网

在XML中包含PHP

在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

我正在尝试使用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>
        <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中无法工作
  • 如果是PHP文件,则可以使用
    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请求