0

我的标题中有这段代码

<?php 
    define('RELPATH','http://www.saint57records.com/');
    include_once(RELPATH.'sidebar.php'); 
?>

以及边栏中的示例代码行

<a href="/"><img style="margin:10px;" src="<?php print RELPATH;?>images/logo.png" width="60px"/></a>

但是当它到达页面时,它正确地包含了文件,但是文件中的所有链接都只是打印 RELPATH 而不是像这样的 web url

<a href="/"><img style="margin:10px;" src="RELPATHimages/logo.png" width="60px"/></a>

它在我网站的其他页面上运行良好,只是在 Wordpress 中不行。有谁知道可能导致此问题的原因?

4

1 回答 1

1

简短的回答是提供 RELPATH 的文件系统路径,而不是 Web URL。

长答案是,当您使用 Web URL 包含 PHP 文件时,PHP 文件将被视为外部源。它将被远程调用,在自己的进程中执行,并返回结果。先前定义的常量不能在此远程资源中产生影响。

如果http://www.saint57records.com/在不同的服务器上,则必须以其他方式将 RELPATH 传递给它,例如通过 GET 变量(您必须在使用htmlentities()前对其进行清理。)但是,以这种方式包括来自远程服务器的内容不是好习惯。它会减慢您的页面速度,因为它会发出昂贵的网络请求。如果目标服务器关闭,您的页面将超时。

于 2013-09-27T23:47:04.687 回答