我当前正在创建一个登录系统。登录用户时,HE/她应该能够通过表格上传图片到我的数据库。当前上传到数据库工作,这很棒!
但是,数据库中的IMG源已上传到此URL uploads/cheekycat.png
。
此文件夹位于 app/controllers/uploads
中。
现在,由于我使用的是MVC
,因此我在此处位于此处的模型文件夹中具有该程序的逻辑。app/models
在此文件夹中,我有此文件,在底部,我尝试了以下
echo "<img src=<?php echo $pic["imageFullNamePicture"] ?>>";
是链接到上传目录的变量。但是由于此模型在另一个文件夹中,因此找不到该文件夹并回应图片!
showpicmodel.php
<?php
require_once ("../../Core/database.php");
class showPicModel extends Database {
public function showPic() {
if (isset($_SESSION['u_id'])) {
echo '<section class="picture-links">
<div class="wrapper">
<h2>Pictures</h2> ';
?>
<div id="pictures">
<?php
$sql = "SELECT * FROM pictures WHERE userid = '{$_SESSION['u_id']}'";
//$sql = "SELECT * FROM pictures ORDER BY userid DESC LIMIT 20;";
$stmt = $this->conn->prepare($sql);
$stmt->execute();
$pictures = $stmt->fetchAll();
// if ($pictures !== null) {
foreach ($pictures as $pic) {
?>
<li>
<figure id="<?php echo $pic['id']; ?>">
<b>
<figcaption><?php echo $pic["titlePicture"] ?>
<!-- Fejl er her -->
<img src=<?php echo $pic["imageFullNamePicture"] ?>>
<?php echo $pic["descPicture"] ?> <br>
</figure>
</li>
<?php
}
}
}
}
这是我的控制器!showpiccontroller.php
<?php
include_once("../../Models/showPicModel.php");
//Use model
$model = new showPicModel();
if(isset($_SESSION['u_id'])){
$model->showPic();
}
这是我视图的一部分,它返回了菲力列特尔,归档和图像路径。文件标题和FileDESC从数据库中返回,而不是图像,因为路径有问题!uploadview.php(位于app/views/home中(
<?php
//Check if user is logged in
if (isset($_SESSION['u_id'])) {
include ("../../controllers/ShowPicController.php");
}
?>
我解决了问题!
<?php echo "<img src='../../controllers/" . $pic["imageFullNamePicture"] . "' height='130' width='220'> "; ?>