![](/img/trans.png)
[英]how to store image or file in a folder and that path in Database using php but image or file is not coming from post functionality of html
[英]Pass image path from database to HTML image source using PHP
我有一个pics
表,其中包含上载照片的路径。 如果用户上传了照片,我想显示该图像。 我有一个users
表,该表的pic_id
引用了pics
表中的pic_id
。
用户上传照片后,我引用pic_id
在用户的表与pic_id
在pics
表,其中也有图片的名称和路径。
如果用户已上传照片,我想在div中显示该上传的照片。 如果没有,我将默认照片归给用户。
HTML示例代码:
<div id = "inner_menu_img">
<img id = "pics" src = "getimage.php">
</div>
由getimage.php内部:
<?php
session_start();
include 'db_connect.php';
if(isset($_SESSION['pic_id']))
{
$pic_id = $_SESSION['pic_id'];
$sql_select = "SELECT filepath FROM pics WHERE pic_id = '$pic_id'";
$result = $conn->query("$sql_select");
$filepath = $result->fetch_assoc();
$path = $filepath['filepath'];
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
$mime_type = finfo_file($finfo, $path);
finfo_close($finfo);
switch($mimetype)
{
case "image/jpeg":
header ('content-type: image/jpeg');
echo '<img src = ".$path.">';
break;
case "image/png":
header ('content-type: image/png');
echo '<img src = ".$path.">';
break;
}
}
else
{
echo "uploaded_images/default_photo.jpg";
}
?>
我不确定这样做是否正确,因为我正在尝试自学PHP。 如果有使用AJAX或其他任何方式执行此操作的简便方法,我将很乐意为您提供帮助。
如果您正在从事一个项目,我建议使用框架。 如果您只测试东西,那很好。 出于测试目的,我将代码放在HTML之前,只是将图像的路径分配给变量,然后在图像的src中回显此路径。
<?php
...
if(isset($_SESSION['pic_id']))
...
$imageSrc = '/path/to/image.jpg';
} else {
$imageSrc = '/path/to/default.jpg';
}
?>
<!doctype html>
<html>
<body>
<img src="<?php echo $imageSrc ?>">
</body>
</html>
如果您只想返回带有新图像url或html的字符串,请不要将content-type设置为任何图像格式。
否则,如果您真的要发回上传的图像,请参阅此帖子
就您而言,我看到两种解决方案:
祝好运
更好的方法是:
<?php
...
if(isset($_SESSION['pic_id']))
...
$imageSrc = $_SESSION['pic_path'];
} else {
$imageSrc = '/path/to/default.jpg';
}
?>
<!doctype html>
<html>
<body>
<img src="<?php echo $imageSrc ?>">
</body>
</html>
但是,如果您正在学习PHP,现在就不要从框架开始,则必须先了解POO并了解基本的过程方面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.