为什么我的图像路径没有采取?

时间:2010-05-11 07:05:07

标签: php image src

我在这个foreach

中从数据库获取图像路径
foreach($image as $row){ 
  $value = $row['dPath'];
  $imgpath =base_url()."images/".$value;//this is not taken
  $imgpath =  base_url()."images/con_icon.jpg";//this$imgpath is taken

  echo $value;

当我将$ imgpath作为$ imgpath = base_url()。“images / con_icon.jpg”;

接受了
<img src="<?php echo $imgpath; ?>" and image is displayed

但是当我将$ imgpath作为$imgpath =base_url()."images/".$value;时 但是echo $value;会导致con_icon.jpg 图像不显示 有什么问题

修改

echo $imgpath =base_url()."images"."/".$value;
 echo $img =  base_url()."images/con_icon.jpg";

给了我这个

http://localhost/ssit/images/con_icon.jpg
http://localhost/ssit/images/con_icon.jpg 

然后为什么我不能在我的<img>

中得到这个
<img src="<?php echo $imgpath; ?>" name=b1 width=90 height=80 
 border=0 onmouseover=mouseOver() onmouseout=mouseOut()>

2 个答案:

答案 0 :(得分:3)

确保您的$value在前端或末端不包含额外的空格。使用

$value = trim($value);

remove whitespaceecho也不是快速调试变量的最佳方法,而是使用var_dump

请确保转义图像路径以防止XSS

修改

你不能说<img src="<?php echo $imgpath; ?>" name=b1 width=90 height=80 border=0 onmouseover=mouseOver() onmouseout=mouseOut()>,因为你的字符串末尾有空格。如果你必须以这种方式使用它,请使用<img src="<?php echo trim($imgpath); ?> … />

除此之外,引用您的属性:onmouseover="mouseOver",不要在事件处理程序名称后使用括号(除非mouseOver()返回一个函数 - 我不认为你这样做...)。并且您应该使用urlencode作为您的图像路径,以锁定所有想要伤害您的用户的恶意黑客

答案 1 :(得分:0)

确保$value不会为空:

var_dump($value);

此外,您可以尝试这样做:

$imgpath = get_bloginfo('template_url') . "/images/" . $value;