php - 显示数据库中路径的图像

标签 php mysql image upload

我想显示我上传的图片,并将该图片的路径保存在MySQL数据库中。

下面是我用来上传图像并将路径保存到数据库中的表的所有代码:

HTML 表单:

<!DOCTYPE html>
<html>

<body>


<form action="processfangstrapport.php" enctype="multipart/form-data" method="post">

<table style="border-collapse: collapse; font: 12px Tahoma;" border="1" cellspacing="5" cellpadding="5">
<tbody><tr>
<td>
<input name="billed1" type="file" accept="image/jpeg">
</td>
</tr>

<tr>
<td>
<input name="Upload Now" type="submit" value="Upload Image">
</td>
</tr>
</tbody></table>
</form>
</body>
</html>

我的进程 php:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "fiskerirapporter";

//Opretter forbindelse til databasen
$conn = new mysqli($servername, $username, $password, $dbname);
//Check forbindelse
if ($conn->connect_error) {
    die("Forbindelse mislykkedes: " . $conn->connect_error);
}

    function GetImageExtension($imagetype)
     {
       if(empty($imagetype)) return false;
       switch($imagetype)
       {
           case 'image/bmp': return '.bmp';
           case 'image/gif': return '.gif';
           case 'image/jpeg': return '.jpg';
           case 'image/png': return '.png';
           default: return false;
       }
     }

if (!empty($_FILES["billed1"]["name"])) {

    $file_name=$_FILES["billed1"]["name"];
    $temp_name=$_FILES["billed1"]["tmp_name"];
    $imgtype=$_FILES["billed1"]["type"];
    $ext= GetImageExtension($imgtype);
    $imagename=date("d-m-Y")."-".time().$ext;
    $target_path = "images/".$imagename;

if(move_uploaded_file($temp_name, $target_path)) {

    $query_upload="INSERT into images_tbl (images_path,submission_date) VALUES 

('".$target_path."','".date("Y-m-d")."')";
    mysqli_query($conn, $query_upload) or die("error in $query_upload == ----> ".mysql_error());  

}else{

   exit("Error While uploading image on the server");
} 
echo "Din fangstrapport er nu oprettet.";
}
$conn->close();
?>

我的数据库表的结构:

CREATE TABLE images_tbl(
id INT NOT NULL AUTO_INCREMENT unique,
images_path VARCHAR(200) NOT NULL,
submission_date DATE
);

最佳答案

为此,您需要做的就是从数据库中获取所需的路径,并在 HTML 图像标记 src 中使用该路径:

echo '<img src="$imagePathFromDatabase" ... >';

要从数据库中获取图像,我们只需通过查询SELECT它,类似于:

SELECT images_path FROM images_tbl WHERE images_path='imagePathYouWant' LIMIT 1;

关于php - 显示数据库中路径的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27471753/

相关文章:

mysql - SQL:无法删除或更新父行:外键约束失败

php - SQL SELECT 的问题

java - 将 Gravatar 图像保存到数据库

php - 如何将图像的文件路径转换为实际图像?

php - PHP 中的 session 和登录混淆

mysql - Spring Boot 2.0/Hibernate MySql 更改表语法错误

JavaScript 创建图像和 document.readyState

html - 什么时候可以在 HTML 图像上将替代文本留空(如果有的话)?

php - 更新时如何从yii2中的数组对象设置多选值

php - 如何从日期找到一个月的最后一天?