1

我有一些代码,它从数据库中获取信息,然后创建图像路径并返回它,我将其用作另一个页面上的 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/”之前从函数中添加了一个额外的空间。我试过修剪路径,甚至在调用它时修剪函数,但都没有奏效。有任何想法吗?

4

3 回答 3

6

包括

您看到的空白几乎肯定来自这一行:

include 'connect.php';

检查文件中的内容connect.php,并在打开之前删除任何空格<?php,如果有?>,只需将其删除。

于 2012-10-15T18:46:26.620 回答
1

我的朋友@AD7six 是对的!(他推荐的是最好的做法!)。

但是,如果你很难“抓住”这个空间并且你想解决它,你可以这样做:

$img = getMainImage();
echo "<img src='\"images/t_" .  $img . "\" width=\"40\" height=\"40\" />";
于 2012-10-15T18:49:47.793 回答
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" />
于 2012-10-15T19:09:30.923 回答