Base64 отсечения изображений из базы данных PHP - PullRequest
0 голосов
/ 26 мая 2019

Я делаю сайт, который отображает игры из базы данных, созданной в MySQL Workbench.Я хочу, чтобы рядом с соответствующим названием упомянутой игры появлялись изображения.Проблема, с которой я столкнулся, заключается в том, что я вставляю эти изображения в свою базу данных, используя BLOB, и преобразую их в base64 в PHP.Когда я делаю это и запускаю его, изображения выходят отсеченными.

Это получает информацию из таблицы, которую я создал в MySQL

function find_all_games(){
    global $db; //Connects to database
    $sql = 'SELECT * FROM game';
    $result = mysqli_query($db, $sql);
    return $result;
}

Это таблица, которая извлекает информацию, котораяЯ хочу из базы данных и преобразует большой двоичный объект в изображение base64, но изображения выглядят обрезанными.

'<?php while($game = mysqli_fetch_assoc($get_all_games)) {?>
<table>
    <tr>
      <td><?php
                echo '<img src="data:image/jpeg;base64,'.base64_encode($game['image']).' "height="301" width="220" />'; ?>
      </td>
    </tr>
    <tr>
      <td id="title"><?php echo $game['title']; ?></td>
    </tr>
    <tr>
      <td class="title">Released:</td>
      <td class="data"><?php echo $game['release_date']; ?></td>
    </tr>
    <tr>
      <td class="title">Publisher:</td>
      <td class="data"><?php echo $game['publisher']; ?></td>
    </tr>
</table>

'

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

Подтверждение того, что изображения отображаются, но обрезаются

1 Ответ

0 голосов
/ 26 мая 2019

Для тех, у кого была такая же проблема, как у меня: Предоставлено Джеффом (https://stackoverflow.com/users/2417483/jeff), Я просто был глупым, и оказалось, что все, что мне нужно было сделать, это сделать его MEDIUMBLOB или LONGBLOB в зависимости от размеров файлов ваших изображений.

...