我有一些代码,它从数据库中获取信息,然后创建一个图像的路径并返回它,我在另一个页面上用作img src。
这是功能:
function getMainImage ()
{
$query = "SELECT * FROM pictures WHERE username = '$_SESSION[username]' AND main = 'y' LIMIT 1";
include 'connect.php';
$result = mysql_query($query) or die (mysql_error());
mysql_close($dbhandle);
$row = mysql_fetch_assoc($result);
$path = "images/t_$row[username]_$row[number].$row[ext]";
return $path;
}
<img src="<?php echo getMainImage(); ?>" width="40" height="40" />
查看页面源时的输出是:
<img src=" images/t_image_3.jpg" width="40" height="40" />
在“images /”之前,该功能会添加一个额外的空间。我已经尝试修剪路径,甚至在调用它时修剪功能,但都没有工作。有什么想法吗?
答案 0 :(得分:5)
你看到的空白几乎肯定来自这条线:
include 'connect.php';
检查文件connect.php
中的内容,并在开始<?php
之前删除任何空格,如果它有?>
,只需将其删除即可。
答案 1 :(得分:1)
我的朋友@ AD7six是对的! (他推荐的是最好的事情!)。
但是,如果你很难“抓住”这个空间并且你想要解决它,你可以改为:
$img = getMainImage();
echo "<img src='\"images/t_" . $img . "\" width=\"40\" height=\"40\" />";
答案 2 :(得分:0)
尝试这个小解决方案:
require_once 'connect.php';
function getMainImage (){
$User = mysql_real_escape_string($_SESSION[username]);
$query = "SELECT * FROM pictures WHERE username = '$User' AND main = 'y' LIMIT 1";
$result = mysql_query($query, $connetion) or die (mysql_error());
$row = mysql_fetch_assoc($result);
if($row) $path = "images/t_$row[username]_$row[number].$row[ext]";
return isset($path) ? $path : 'default_url_to_img';
}
<img src="<?= getMainImage(); ?>" alt="some txt" width="40" height="40" />