如何将保存为 longblob 文件的 sql 数据库中的图片添加为背景图像 属性?
How do I add a picture as a background-image property from sql databese which is saved as a longblob file?
我使用 php、html 和 css 创建了一个身份验证系统。我使用以下代码将与每个个人资料相关的个人资料图片作为 longblob 文件发送到 sql 数据库。
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="POST" enctype="multipart/form-data">
<input type="file" name="profile_picture" id=""><br>
<input type="submit" value="Update" name="profile_pic_update">
</form>
<?php
if($_SERVER["REQUEST_METHOD"]=="POST" && isset($_REQUEST["profile_pic_update"])){
try{
$pdo = new PDO("mysql:host=localhost;dbname=shoppingcart","root","");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
die("Error");
}
$profile_picture_name = $_FILES["profile_picture"]["name"];
$profile_picture_type = $_FILES["profile_picture"]["type"];
$profile_picture_data = file_get_contents($_FILES["profile_picture"]["tmp_name"]);
$sql = "INSERT INTO `profilepictures`(`name`, `mime`, `data`, `ownerId`) VALUES ($profile_picture_name,$profile_picture_type,$profile_picture_data, $_SESSION['id'])";
$stmt = $pdo->prepare($sql);
$stmt->execute();
}
?>
我可以使用此代码从 sql 数据库获取图像到 img 属性,
<?php
$sql2 = "SELECT * FROM profilepictures WHERE ownerid=:ownerid";
if($stmt2 = $pdo->prepare($sql2)){
$stmt2->bindParam(":ownerid",$_SESSION["id"]);
$stmt2->execute();
if($stmt2->rowCount()==1){
$row = $stmt2->fetch();
echo "<img src='data:".$row['mime'].";base64,".base64_encode($row['data'])."'>";
}
}
?>
但问题是我需要将此图像作为 css.I 的背景图像 属性 调整大小 div 标签,我需要该图像作为此 div 标签的背景图片。
如果我简单地说,我需要如下使用它,
<div class="profilePicture" style="background-image: url();">
</div>
如何将图像作为 url 添加到该背景图像?
您可以按照与 img 标签相同的方式执行此操作:
<div class="profilePicture" style="background-image: url('<?= "data:" . $row['mime'] . ";base64," . base64_encode($row['data']); ?>');">
</div>
我使用 php、html 和 css 创建了一个身份验证系统。我使用以下代码将与每个个人资料相关的个人资料图片作为 longblob 文件发送到 sql 数据库。
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="POST" enctype="multipart/form-data">
<input type="file" name="profile_picture" id=""><br>
<input type="submit" value="Update" name="profile_pic_update">
</form>
<?php
if($_SERVER["REQUEST_METHOD"]=="POST" && isset($_REQUEST["profile_pic_update"])){
try{
$pdo = new PDO("mysql:host=localhost;dbname=shoppingcart","root","");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
die("Error");
}
$profile_picture_name = $_FILES["profile_picture"]["name"];
$profile_picture_type = $_FILES["profile_picture"]["type"];
$profile_picture_data = file_get_contents($_FILES["profile_picture"]["tmp_name"]);
$sql = "INSERT INTO `profilepictures`(`name`, `mime`, `data`, `ownerId`) VALUES ($profile_picture_name,$profile_picture_type,$profile_picture_data, $_SESSION['id'])";
$stmt = $pdo->prepare($sql);
$stmt->execute();
}
?>
我可以使用此代码从 sql 数据库获取图像到 img 属性,
<?php
$sql2 = "SELECT * FROM profilepictures WHERE ownerid=:ownerid";
if($stmt2 = $pdo->prepare($sql2)){
$stmt2->bindParam(":ownerid",$_SESSION["id"]);
$stmt2->execute();
if($stmt2->rowCount()==1){
$row = $stmt2->fetch();
echo "<img src='data:".$row['mime'].";base64,".base64_encode($row['data'])."'>";
}
}
?>
但问题是我需要将此图像作为 css.I 的背景图像 属性 调整大小 div 标签,我需要该图像作为此 div 标签的背景图片。 如果我简单地说,我需要如下使用它,
<div class="profilePicture" style="background-image: url();">
</div>
如何将图像作为 url 添加到该背景图像?
您可以按照与 img 标签相同的方式执行此操作:
<div class="profilePicture" style="background-image: url('<?= "data:" . $row['mime'] . ";base64," . base64_encode($row['data']); ?>');">
</div>