PHP解析HTML img标签src路径无法正常工作

时间:2013-05-17 15:38:06

标签: php html path

我有一些用PHP解析的HTML代码,我希望图片标签是相对的,因为代码需要在多个服务器上工作。

我在目录中有index.php作为文件夹icons,而在icons中,有一个名为logo.png的图像。代码index.php是这样的:

echo '<img src="icons/logo.png">';

但是不起作用。但是,如果我将其更改为这种路径(http://mydomain...),它确实有效。

在其中一台服务器上,index.phpicons都位于子域目录中,而另一台服务器上则位于根目录中。在这两种情况下,相对路径都不起作用。

我该如何解决这个问题?

感谢。

编辑:在我的HTML检查器中,我可以看到正确解析了图像的URL。

3 个答案:

答案 0 :(得分:0)

如果你的文件在根目录public_html /中,那么你不需要做任何事情只需使用/icons/logo.png访问它。但是,如果您有子目录,希望它是自己的根目录,请执行以下操作:

如果您有权访问Virtual Host,则需要为apache设置httpd-vhosts,并将其链接到子目录,作为其下所有文件/文件夹的根目录。

然后您只需使用"/icons/logo.png"

如果您无法访问VHosts或apache文件并且您正在托管共享托管,则需要阅读 .htaccess 以捕获请求并检查img是否存在于root中如果没有检查它是否存在于子目录中。

另一种方法是只有一个网站URL的全局变量,如:

  define('SITE_URL', 'http://mysite.com/');

并链接到您的图片,例如:<?=SITE_URL?>icons/logo.png

对于每个服务器,您只需修改SITE_URL

答案 1 :(得分:0)

你需要知道你在服务器或wamp服务器c中的路径是什么:/ wamp / www / 所以你可以把这个

echo '<'img src="/icons/biglogo.png  >

否则你需要改变路径或完整路径

echo '<'img src="/mysite/img/icons/biglogo.png" >';

答案 2 :(得分:0)

好吧,我发现了问题! 不需要复杂的解决方案,因为问题是:

 icons/

当转到http://mydomain.com/icons时,我发现自己处于一个包含apache图标的apache文件夹中。 所以我想它需要我到域的根,并进入一些图标文件夹。

icons/更改为例如images/时,效果非常好!