Извлечение изображения из базы данных и обновление изображения или загрузка другого файла - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть функция загрузки, при которой изображение загружается в базу данных, затем я хочу вывести изображение на экран, но проблема в том, что если я обновлю изображение, оно не будет отображаться, но если это первая загрузка, изображение которой показано здесь.как я загружаю изображение

   include('phpqrcode/qrlib.php'); 
//start of register function
if (isset($_POST['student-registration'])) {

    // get image - student picture
    $check = getimagesize($_FILES["image"]["tmp_name"]);
    if($check !== false){
        $image = $_FILES['image']['tmp_name'];
        $imgContent = addslashes(file_get_contents($image));
        }
    else{
        array_push($errors, "Please select an image to upload");
    }

вот как я отображаю изображение, обратите внимание, что я отображаю изображение в другом файле, я включаю файл, в котором находится функция загрузки

<?php   echo '<img src="data:image/jpeg;base64,'.base64_encode($image).'" style ="width:200px; height:200px;"/>'; ?>


<?php 

у меня есть только одно поле данных для изображения, и оно называется image из таблицы userinfo

вот как я выбираю массивы из моей таблицы базы данных

 $UserID = $_POST['UserID'];

// mysql search query
$query = "SELECT * FROM userinfo WHERE UserID = '$UserID' LIMIT 1";
$result = mysqli_query($db, $query);

// if code exist 
// show data in inputs

if(mysqli_num_rows( $result) > 0)
{
  while ($row = mysqli_fetch_array($result))
  {
    $UserType= $row['UserType'];
    if ($UserType != "Student")
    {
        echo '<span style="color:#FF0000;text-align:center;">Oppss... Student ID not FOUND!</span>';
        $UserID = "";
    }
    else //get data from database to retrieve and display in students registration form
    {

            $StudName = $row['LName'].","." " .$row['FName']." ".$row['MName'];
            $UserType= $row['UserType'];
            $UserID = $row['UserID'];
            $FName = $row['FName'];
            $MName = $row['MName'];
            $LName = $row['LName'];
            $EName = $row['EName'];
            $Gender = $row['Gender'];
            $Address = $row['Address'];
            $ContactNo = $row['ContactNo'];
            $EmailAddress = $row['EmailAddress'];
            $College = '<option value="' . $row['College'] . '">' ;
            $Department = $row['Department'];
            $Course = $row['Course'];
            $YearLevel = $row['YearLevel'];
            $ParentName = $row['ParentName'];
            $ParentEmail = $row['ParentEmail'];
            $ParentContact = $row['ParentContact'];
            $image = $row['image']; // image from the database 
    }
  }  
}    

заранее спасибо

1 Ответ

0 голосов
/ 19 февраля 2019

Когда вы запрашиваете вашу БД, вы помещаете в изображение изображение.При обновлении изображения вы вставляете в $ image имя изображения.Вот почему ваше изображение не отображается после обновления.Вам необходимо: ИЛИ поместить содержимое изображения в $ image при обновлении

- $image = $_FILES['image']['tmp_name'];
- $imgContent = addslashes(file_get_contents($image));
+ $img_name = $_FILES['image']['tmp_name'];
+ $image = file_get_contents($img_name);
+ $imgContent = addslashes($image);

ИЛИ выполнить часть запроса после обновления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...