从字符串和变量形成URL

时间:2009-09-30 16:39:00

标签: php cross-browser joomla

我正在研究一个基于某些元素自动显示图像的PHP脚本(这个问题无关紧要,因为该部分工作得很好。)在我测试过的浏览器中,图像在Google Chrome,Internet Explorer和Safari上正确显示。但是,它们不会出现在Firefox或Opera上。在Firefox中,没有显示任何内容,在Opera中,图像的路径为http://server/folder/%5Cimages%5C40.jpg,其应为http://server/folder/images/40.jpg。用于生成URL的代码如下:

 echo "<div class='jumih3'>" . $row['fname'] . " " . $row['lname'] . "</div>";
 $image = JURI::root() . "\/images\/" . $row['id'] . ".jpg";
 $imagetest = JPATH_ROOT . "\/images\/" . $row['id'] . ".jpg";
 if (file_exists($imagetest))
 {
 echo "<br /><img src='" . $image . "'width='100' height='100' /><br />";
 }

这是Joomla站点的一部分,JURI:root()和JPATH_ROOT提供服务器的绝对位置。 Opera解析URL的方式我怀疑是什么东西是我逃避斜线的方式错了。但是,当我尝试使用/而不是/时,图像没有出现在任何浏览器中。

编辑:正如您从Zannjaminderson的回答中看到的那样,这个问题以一种简单的方式解决了。

2 个答案:

答案 0 :(得分:0)

如果你愿意的话,叫我一个菜鸟,但我注意到你正在测试file_exists($ imagetest),然后使用$ image作为你的图像的来源......你不应该使用你测试的那个/测试对于你正在使用的人?

答案 1 :(得分:0)

你不需要逃避斜线。当你使用/它为每个图像产生什么样的地址?什么平台?