php - 图像未在 mysql 的 php 中显示
问题描述
我正在尝试在 php 中显示数据库值,我的 php 代码如下
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "teia";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * from registers ORDER BY ID DESC limit 1 ";
$result = $conn->query($sql);
if (!empty($result) && $result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$name = $row['firstname'];
$lastname = " $row[lastname] ";
$mobile = " $row[mobilenumber] ";
$exp = " $row[experience] ";
$photo = " $row[Photo] ";
}
} else {
echo "0 results";
}
这就是我试图获得的图像
<?php echo '<img src="data:image/jpeg;base64,'.base64_encode( $row['Photo'] ).'"/>';?>
除图像外,所有数据都显示,我可以知道是什么原因吗?
解决方案
一般的做法是将图像存储在文件系统的目录中,并将对图像的引用存储在数据库中。例如,图像的路径、图像名称等。或者,您甚至可以将图像存储在内容交付网络 (CDN) 或跨越广阔物理区域的众多主机上,并将访问这些资源的引用存储在数据库中.
正如您所提到的,您只存储了图像的标题。此外,您必须将图像存储到特定路径。
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["imageUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if (move_uploaded_file($_FILES["imageUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["imageUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
您可以存储图像的名称,例如:
$image=basename( $_FILES["imageUpload"]["name"],".jpg");
当您要渲染时,只需这样做:
<img src='uploads/$image_name' height='150px' width='300px'></td>"
将从数据库中检索 $image_name 的位置
推荐阅读
- python - Trying to setup nfcpy, Returns "ModuleNotFoundError: No module named 'ndef'"
- python - Django设置设置模块在运行时基于环境以编程方式
- c++ - Where to install mingw-make from? (CMAKE)
- php - Upload images from 2 different input=file on one submit using AJAX
- reactjs - React: usestate and tab behaviour issue
- snaplogic - Splitting the comma separated values in a column into multiple columns in Snaplogic
- javascript - 如何关闭一键式功能
- python - 无法使用 Python 请求上传图像
- python - Compare two string char by char in python and get unmatched character
- java - How to update Springboot application to use SSL/TLS certificates to connect to RDS?