显示mysql表引用的目录中的图像


display an image from a directory that is referenced by a mysql table

我正在尝试创建一个页面,人们可以在其中上传图片供每个人查看。

我正在尝试将图片存储在一个目录中,并通过MySQL表引用文件名。

上传我已经设法排序,它将文件存储在我想要的地方,并将文件名添加到表中。

它正在查看我遇到问题的图像。页面只显示了图片应该在的空白处,但正确显示了表中的其余信息,即谁上传了照片以及何时上传。

这是我的代码:

$myObject = new convertToAgo;
//var for gallery output
$returnstr = "";
$sql = mysql_query("SELECT * FROM pictures ORDER BY creation_date DESC");
while($row = mysql_fetch_array($sql)){
$username = $row["creator_name"];
$date = $row["creation_date"];
$file = $row["file_name"];
$convertedTime = ($myObject -> convert_datetime($date));
$whenAdded = ($myObject -> makeAgo($convertedTime));
$picture = "pictures/$file";
$returnstr .='<img src ='"$picture'" width="400px" height="400px" border="1px"     />
<div class="response_top_div">Added by:&nbsp; ' . $username . ' &nbsp; | &nbsp; ' .     $whenAdded . ' </div>                           <br/><br/><br/>';
}

您的代码应该看起来像这个

$picture = "pictures/".$file;
$returnstr .='<img src ="'.$picture.'" 

或更好的

$returnstr .='<img src ="pictures/'.$file.'" 

您正在尝试引用字符串中的变量。试试这个:

$myObject = new convertToAgo;
$returnstr = "";
$sql = mysql_query("SELECT * FROM pictures ORDER BY creation_date DESC");
while($row = mysql_fetch_array($sql)){
    $username = $row["creator_name"];
    $date = $row["creation_date"];
    $file = $row["file_name"];
    $convertedTime = ($myObject -> convert_datetime($date));
    $whenAdded = ($myObject -> makeAgo($convertedTime));
    $picture = "pictures/" . $file;
    $returnstr .= '<img src ="' . $picture . '" width="400px" height="400px" border="1px"/>
<div class="response_top_div">Added by:&nbsp; ' . $username . ' &nbsp; | &nbsp; ' .     $whenAdded . ' </div>                           <br/><br/><br/>';
}

如果您拥有的$returnstr变量是准确的,那么您实际上只是将字符串$picture添加到src中。您需要插入变量:

$returnstr .='<img src ="'.$picture.'" width="400px" height="400px" border="1px"     />' ...

只有double qoutes可以接受php变量,所以将开头的qoutes更改为double like。

$returnstr = "<img src='$you_variable' rel='test_image' />";

希望这能奏效。