Coolgert: Speichern und Abrufen von Bildern aus SQLite DB mit php

Beitrag lesen

Hi ChrisB,

Das machen bspw. Gecko-basierte Browser so, wenn das Bild fehlerhaft ist, und deshalb nicht angezeigt werden kann.

Cool, danke! War mir bisher entgangen.

Wie muss nun das Skript zum Abfragen, bzw. Speichern des Bildes aussehen?

Ok, was muss ich denn jetzt machen?

Es sollte vor allem, wie jedes halbwegs vernünftige Script, eine Fehlerbehandlung enthalten - wieso glänzt die in einem Beispiel durch vollkommene Abwesenheit?

Ich habe die Ausgabe des Skripts schon auf Fehler abgeklopft. Hier jetzt die halbwegs vernünftige Version:

  
<?php  
$db = sqlite_open('test.sdb');  
if(!$db)  
	die('No Connection to the SQLite2 database!');  
	  
	$sql = "SELECT * FROM DerBlob Limit 1";  
	$query = sqlite_query($db, $sql,SQLITE_ASSOC, $error);  
	if(!$query){  
		echo "Error: ".sqlite_error_string( sqlite_last_error($db)).": <b>".$error."</b><br>";  
	}else{	  
	$result = sqlite_fetch_all($query);  
		foreach ($result as $row) {  
		    $image = $row['Data'];  
		}  
	}  
	header("Content-type: image/jpeg");  
	echo $image;  
?>  

... der dann irgendwann vermutlich riesig wird, und damit leicht wieder Probleme beim Einspielen machen kann, bspw. was den Hauptspeicherbedarf währendessen angeht.

Bei der Webanwendung sind die Bilder in der Datenbank das kleinste "Problem". Die machen nämlich ca 2% des Datenvolumens in der Datenbank aus
 ;-).

MfG, Sebastian