-1

我有一个带有 settings.xml 文件的 flash 元素(我知道,但请不要)。

XML 文件中的值之一取决于 URL,因此我不想拥有多个 flash 文件夹实例,而是要执行以下操作:

value="<?php $rest = substr(<?php echo curPageURL(); ?>, -2, -1) ?>"

我徒劳地尝试过,但正如您可能已经知道的那样,那是行不通的。

所以我要么需要一种方法来用 XML 编写它,要么在 XML 文件中允许那行 PHP。

function curPageURL() {
    $pageURL = 'http';
    if ($_SERVER["HTTPS"] == "on") {
        $pageURL. = "s";
    }
    $pageURL. = "://";
    if ($_SERVER["SERVER_PORT"] != "80") {
        $pageURL. = $ _SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    } else {
        $pageURL. = $ _SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }
    return $pageURL;
}
4

1 回答 1

1

为此,您需要两件事:

  1. 您的服务器需要配置为将 XML 文件解析为 PHP 文件。如果您使用的是 Apache,那么您的配置中的内容类似于:

    AddHandler application/x-httpd-php5s .xml
    
  2. 您需要使用有效的 PHP 语法,如下所示:

    value="<?php echo substr( curPageURL(), -2, -1); ?>"
    

    假设这curPageURL()是 PHP 中定义的函数。

最后,您应该确保该short_open_tag指令Off在您的php.ini配置中设置为,否则 PHP 在遇到 XML 开始标记时会抛出语法错误,例如<?xml. 这可以在 .htaccess 中使用类似于

php_value short_open_tag Off
于 2012-06-21T17:40:45.317 回答