簡體   English   中英

如何顯示存儲在數據庫中的圖像?

[英]how to display an image stored in a database?

這是圖像的回顯輸出我將圖像作為 blob 存儲在數據庫中,如下面的代碼所示

        <?php

            // extract form values
        if(isset($_POST['submit']))
        {
        $empnum = $_POST['emp_num'];
        $lastname = $_POST['emp_lname'];
        $firstname  = $_POST['emp_fname'];
        $initial = $_POST['emp_initial'];
        $job = $_POST['job'];
        $username = $_POST['emp_usr'];
        $password = $_POST['emp_pass'];
        $emp_bdate = $_POST['emp_bdate'];

        $check = getimagesize($_FILES["image"]["tmp_name"]);
        if($check !== false){
            $image = $_FILES['image']['tmp_name'];
            $imgContent = addslashes(file_get_contents($image));

員工詳細信息的插入

// build query
            $qry = "INSERT INTO employee VALUES(" .
                "'$empnum','$lastname','$firstname'," .
                "'$initial','$job'," .
                "'$username',PASSWORD('$password'),' $emp_bdate',' $imgContent')";
            }
            // execute query
            $added = mysqli_query($dbconn,$qry);

這是為了檢查是否有任何錯誤

    // report results
        if(trim($added) != "")  
echo  "Record added successfully." . "<br>";
        else
        {
            echo "ERROR: Record could not be added<br>" . 
                 mysqli_error($dbconn);
        }

        // close connection
        mysqli_close($dbconn);

    }
    ?>

雖然沒有顯示圖像,但我正在輸出如下圖像

        $imageData =base64_encode($line['image']); 
    echo "<img src='data:image/jpeg;base64,$imageData' height='200' width='250' alt=''>'"




  [1]: https://i.stack.imgur.com/8HsOH.png

試試這個代碼,確保你的圖片擴展名總是“jpeg”,或者你需要讓它動態。

<?php
  $imageData = base64_encode($line['image']);
  echo "<img src='data:image/jpeg;base64,$imageData' height='200' width='250'>";
?>

不要將圖像文件保存為 base64,您只需保存圖像目錄所在的位置。 因此,當您調用 image 時,只需將 url 調用到 image dir 位置即可。

暫無
暫無

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

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