PHP解析HTML img标签src路径不工作


PHP Parse HTML img tag src path not working

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

我把目录中的index.php作为文件夹icons,在icons中,有一个名为logo.png的图像。代码是index.php,如下所示:

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

But不工作。然而,如果我把它改为这种路径(http://mydomain...),它确实工作。

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

我怎么能解决这个问题?

谢谢。

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

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

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

那么就使用"/icons/logo.png"

如果你不能访问VHosts或apache文件,并且你是在共享主机上托管,那么你需要阅读。htaccess捕获请求并检查img是否存在于根目录中,如果不存在则检查img是否存在于子目录中。

另一种方法是给站点URL设置一个全局变量,比如:

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

和链接到您的图像,如:<?=SITE_URL?>icons/logo.png

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

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

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

否则您需要更改路径或放置完整路径

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

好了,我找到问题了!没有必要采取复杂的解决办法,因为问题是这样的:

 icons/

当去http://mydomain.com/icons,我发现自己在一些apache文件夹包含apache图标。所以我猜它会把我带到域名的最根,然后进入某个图标文件夹。

当将icons/更改为例如images/时,它可以完美地工作!