我正在尝试创建一个页面,人们可以在其中上传图片供每个人查看。
我正在尝试将图片存储在一个目录中,并通过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: ' . $username . ' | ' . $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: ' . $username . ' | ' . $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' />";
希望这能奏效。