Heim >Backend-Entwicklung >PHP-Tutorial >Wie speichere ich Bilder (Blobs) ordnungsgemäß in MySQL mit PHP?

Wie speichere ich Bilder (Blobs) ordnungsgemäß in MySQL mit PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-11-30 13:47:11988Durchsuche

How to Properly Store Images (Blobs) in MySQL Using PHP?

Speichern von Blobs in MySQL-Datenbanken mit PHP

Beim Versuch, ein Bild in einer MySQL-Datenbank zu speichern, können Probleme auftreten, wenn Ihre Abfrage das Bild nicht einfügen kann. Dieser Artikel bietet Lösungen für dieses Problem.

Problem:

In der folgenden Abfrage wird file_get_contents($tmp_image) als Zeichenfolge und nicht als Funktionsaufruf behandelt:

$sql = "INSERT INTO ImageStore(ImageId,Image) 
VALUES('$this->image_id','file_get_contents($tmp_image)')";

Lösung 1:

Herausspringen der Zeichenfolge und führen Sie eine explizite Verkettung durch:

$sql = "INSERT INTO ImageStore(ImageId,Image) 
VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";

Lösung 2:

Binärdaten maskieren, um ungültige Abfragen zu verhindern:

$sql = "INSERT INTO ImageStore(ImageId,Image) 
VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";

Lösung 3:

Minimieren Sie die Datenbankgröße, indem Sie Bilder in einem Dateisystem speichern oder Nutzung von Cloud-Speicherdiensten.

Das obige ist der detaillierte Inhalt vonWie speichere ich Bilder (Blobs) ordnungsgemäß in MySQL mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn