Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
878 views
in Technique[技术] by (71.8m points)

php - Echo/return is adding whitespace before variable

I have some code, which grabs information from a database, then creates a path to an image and returns it, which I use as the img src on another page.

Here's the function:

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" />

The output when looking at the page source is:

<img src=" images/t_image_3.jpg" width="40" height="40" />

There is an extra space being added from the function before "images/". I've tried trimming the path, and even trimming the function when calling it, but neither worked. Any ideas?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

include

The whitespace you're seeing almost certainly comes from this line:

include 'connect.php';

Check what you have in the file connect.php, and delete any whitespace before the opening <?php, and if it has a ?>, simply delete it.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...