我在这个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()>
答案 0 :(得分:3)
确保您的$value
在前端或末端不包含额外的空格。使用
$value = trim($value);
到remove whitespace。 echo
也不是快速调试变量的最佳方法,而是使用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;