Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So zeigen Sie ein Bild aus einem MySQL-Blob an

<?php
  header("Content-type: $type");
  echo $blobData;
?>

Dieser Code sieht vollkommen in Ordnung aus. Ich habe jedoch eine ähnliche Beschwerde von einer anderen Person gehört und konnte den Fehler beheben, indem ich Folgendes versicherte:

  1. Das PHP-Skript gibt vor oder nach dem Senden der binären Bilddaten keine zusätzlichen Zeichen aus.

  2. Das PHP-Skript wird als reine ASCII-Textdatei gespeichert, nicht als Unicode/UTF-8-codierte Datei. Die mit Unicode/UTF-8 codierten PHP-Dateien können als erste Bytes eine Signatur enthalten. Diese Bytes sind in Ihrem Texteditor unsichtbar, aber der Server sendet diese wenigen zusätzlichen Bytes vor den JPEG-/GIF-/PNG-Daten an den Browser. Der Browser wird daher die falsche Signatur am Anfang von Daten finden. Um das Problem zu umgehen, erstellen Sie eine leere Textdatei im Editor, fügen Sie den PHP-Code ein und speichern Sie die Datei in ANSI-Codierung.