似乎无法显示服务器上文件夹中的图像


Can't seem to display image from folder on server

所以我试图显示用户在主页上上传的图像。然而,虽然其他信息(描述,标题,用户名,日期变量)显示良好,但由于某种原因,图像将不显示。有人能指出是什么错误导致图像无法显示吗?图像存储在DB和服务器上的文件夹中就可以了。

下面是我的home/index.php页面的代码:

<!doctype html>
<html>
<head>
<?php
include('header.php');
?>
<title>Splindr</title>
<link type="text/css" rel="stylesheet" href="index.css">
</head>
<body>
<div id="contentWrapper">
    <?php 
    $conn = mysqli_connect("localhost","root","") or die ("No SQLI");
            mysqli_select_db($conn, "sample") or die ("No DB");
    $sqli = "SELECT * FROM `photos` WHERE `username` = 'ralston3'";
    $result = mysqli_query($conn, $sqli) or die ("No query");
    while($row = mysqli_fetch_assoc($result))   {
        $username = $row['username'];
        $title = $row['title'];
        $description = $row['description'];
        $image_name = $row['image_name'];
        $image_id = $row['image_id'];
        $date = $row['post_date'];
    }
    $image_id = $image_id;
    echo "<div id='photo'><div id='image'><img src='$image_id'><div id='info_header'>$title &nbsp by &nbsp $username &nbsp on &nbsp $date   </div><div id='imageInfo'>$description</div></div></div>";
    ?>
    </div>
</body>
</html>

下面是我的posts_check.php页面的代码,当用户上传帖子时,帖子将被发送:

<?php
    $conn = mysqli_connect("localhost","root","") or die ("No SQLI");
                mysqli_select_db($conn, "sample") or die ("No DB");

if (isset($_FILES['image']) && ($_FILES['image']['size'] < 2097152) && (in_array($_FILES['image']['type'], array('image/jpeg', 'image/png', 'image/jpg', 'image/gif')))) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$rand_dir_name = substr(str_shuffle($chars), 0, 15);
mkdir("photos/$rand_dir_name");
if (file_exists("photos/$rand_dir_name/".$_FILES["image"]["name"]))
{
echo $_FILES["image"]["name"]." Already exists";
}
else
{
move_uploaded_file($_FILES["image"]["tmp_name"],"photos/$rand_dir_name/".$_FILES["image"]["name"]);
//echo "Uploaded and stored in: phoyoss/$rand_dir_name/".@$_FILES["image"]["name"];
$username = 'ralston3';
$title = $_POST['title'];
$description = $_POST['description'];
$image_name = $_FILES['image']['name'];
$image_id_before_md5 = "$rand_dir_name/$image_name";
$image_id = md5($image_id_before_md5);
$date = date('Y-m-d H:i:s');
$sqli = "INSERT INTO `photos` (username, title, description, image_name, image_id,   post_date) VALUES ('ralston3','$title','$description','$image_name','$image_id','$date')";
mysqli_query($conn, $sqli) or die ("No query");
header('location:index.php');

//$profile_pic_name = @$_FILES["profilepic"]["name"];
//$img_id_before_md5 = "$rand_dir_name/$profile_pic_name";
//$img_id = md5($img_id_before_md5);
//$profile_pic_query = mysql_query("INSERT INTO photos VALUES ('','test','$user','$date','$description','http://localhost/tutorials/findFriends/userdata/user_photos/$rand_dir_name/$profile_pic_name','no','$img_id')");
//header("Location: upload_photo.php");
         }  
    } else { 
        header('location:error.php'); 
    }
?>

如果我没看错的话,你是在把$image_id作为md5哈希值插入数据库,所以你的

<img src='$image_id'> 

不是指向实际图像