簡體   English   中英

如何從保存為 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 的背景圖像屬性。我有一個調整大小的 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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM