2013-09-27 167 views
0

没有工作,我有我的头恒集包含PHP文件

<?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而不是像这样的网页url

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

它在我网站的其他页面上正常工作,不在Wordpress内。有谁知道什么可能导致这个问题?

回答

1

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

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

如果http://www.saint57records.com/位于不同的服务器上,则必须以其他方式将RELPATH传递给它,例如,通过一个GET变量(在使用前你必须使用htmlentities()进行清理)。但是,以这种方式包含来自远程服务器的内容并不是一种好的做法。它会减慢你的页面,因为它会造成昂贵的Web请求。如果目标服务器关闭,您的页面将超时。

+0

如何找到文件系统路径,我认为它是像/ home/user/public_html//但似乎没有工作。我在用户部分有我的用户名 –

+0

@MichaelStClair查找文件系统路径的最简单方法实际上是引发一个错误:'<?php dsfadsfads(); ?>看看错误信息(提供了错误报告); 'echo __DIR __;'也会完成这项工作 –

+0

找不到这个文件,现在打印这个