Datenbank für Bilder

Bilderdatenbank

Laden Sie atemberaubende kostenlose Bilder zum Thema Datenbanken herunter. Selbstverständlich ist es möglich, Bilder und andere Dokumente problemlos in einer Datenbank zu speichern. Holen Sie sich Datenbankbilder und lizenzfreie Bilder von iStock. Hiermit möchte ich eine "Datenbank" mit Bildern erstellen. Der Bildanbieter stellt seine Datenbanken für Forschung und Lehre kostenlos zur Verfügung.

Bildupload

Für statische Web-Seiten werden die entsprechenden Bilder zusammen mit den HTML-Seiten lediglich als Dateien abgelegt. Falls die Textdateien jedoch in einer Datenbank abgelegt sind, ist es sinnvoll, die Grafik auch in der Datenbank zu speichern. Die Datenbank beinhaltet dann den kompletten Content der Website, was das Sichern und Verschieben der Website auf einen neuen Webserver vereinfacht.

Zusätzlich zu den eigentlichen Bilddateien muss auch der Bildtyp in der Datenbank hinterlegt werden. Diese benötigt der Webbrowser als Informationen beim Aufruf, damit er die Graphik richtig anzeigen kann. Der folgende SQL-Befehl, den Sie über den Befehl ppMyAdmin eingeben, erstellt z. B. die benötigten Tabellenbilder: id INT( 11) AUTO_INCREMENT, imgdata LONGBLOB, imgtype VARCHAR( 20 ), ); Das von der Datenbank vergebene Eingabefeld id wird zur einmaligen Identifikation eines Bilds verwendet.

Durch diese einfache Struktur können Sie Bilder Ihrer Website in der Datenbank statt im Filesystem speichern das Zusatzattribut enctype="multipart/form-data" wird hinzugefügt und das Formblatt erhält ein Inputfeld vom Type Dateityp. Dadurch entsteht die übliche Verknüpfung aus einem Feldnamen für den Dateinamen einer Ortsdatei und der Schaltfläche Browse, um komfortabel zur gewünschten Stelle zu navigieren.

Beim Absenden des Formulars speichert PHP die gesendeten Dateien in einer Zwischendatei auf dem Datenserver und die System-Variable $_FILE beinhaltet alle für die Bewertung der erhaltenen Dateien erforderlichen Angaben, wie den Dateinamen der Zwischendatei oder den MIME-Typ der vom Webbrowser zur Identifikation gesendeten Dateien. Der Bilduploader, in dem das Bild selbst und seine Bewertung im gleichen Script implementiert sind, hat folgende Form: require_once 'connect.inc.

"Um das Script nicht weiter zu erweitern, gehen wir davon aus, dass die Include-Datei connect.inc. php alle nötigen Maßnahmen zum Aufbau der Datenbankanbindung ergreift. Dann überprüft das Script, ob es ein Elemente img im Feld $_FILE gibt. Das ist das Eingabefeld für den Hochladen. Der if-Abfrage gilt also, wenn das Script als Ergebnis des Formulars aufruft.

Wenn die Anfrage zutrifft, wird zuerst die Temporärdatei eingelesen und dann die entsprechenden Dateien mit addslashes() verarbeitet, so dass sie in die INSERT-Abfrage eingebunden werden können, die die Bildinformation abspeichert. Das ist es, was der Webbrowser bewertet und die Bilddateien aus der benannten Quelldatei neu lädt. Bei unseren Datenbankbildern heißt das, dass das src-Attribut auf ein PHP-Skript verweist, das sich wie ein statisches Abbild verhält.

Eine komplette Markierung für ein Foto aus der Datenbank könnte so aussehen: Mit Hilfe des Parameters id wird das Image identifiziert. Zusätzlich zu den übertragenen Bilddateien muss das Script selbst eine Identifizierung des Bildtyps bereitstellen. Für statische Bilder erfolgt dies durch den Web-Server. Dadurch kann sich der Webbrowser ohne zeitraubende Datenanalyse an das eingesetzte Dateiformat anpassen.

Bei einem JPEG-Bild zum Beispiel lautet die entsprechende Kopfzeile: require_once 'connect.inc. php' ; $id = intval($_GET['id']) ; aus Bildern mit id=$id" ; $result=mysql_query($strQuery) ; $row=mysql_fetch_assoc($result) ; en-tête ("Content-type: {$row['imgtype']}") ; echo $row ['imgdata'] ; -Tag für das Attribute ALT setzen. Wem aus handwerklichen GrÃ?nden keine Bilder abrufbar oder erblindet ist, kann damit zumindest rudimentÃ?re Information erproben. Das Script, das die HTML-Daten eines Posts darstellt, muss dann auch alle zum Post gehörigen Daten aus der Bildtabelle holen.

Ziemlich ungeeignet beim Beispielscript ist die Referenz eines Bilds durch seine einmalige Nummereingabe. Dazu muss man die Artikelnummer in den Tabellenbildern extra sichern und dann den Namen des Bilds und die Artikelnummer als Identifizierungsdaten für den Aufruf eines Bilds eingeben. Dies würde das Script für die Anzeige des Artikels durch Analysieren des Texts ermitteln, dann die Grafiktabelle nach dem entsprechenden Datenset absuchen und das richtige IMG-Tag mit dem Image Retrieval Script als Quelltext anstelle des Pseudo-Tags eingeben.

Falls der Teil des Programms zur Eingabe eines Textbeitrages auf einen solchen Tag stößt, wird der Anwender beim Sichern aufgefordert, das Foto über das Upload-Skript in der Datenbank zu sichern. Funktioniert der Aufruf eines Images nicht, z.B. weil ein Datenbank-Fehler aufgetreten ist, kann dieser nicht ohne weiteres als Fehlernachricht ausgegeben werden. Weil die Ausgabe des Skriptes vom Webbrowser als Bilddatei zu erwarten ist.

Zur Implementierung einer Fehlernachricht müssen Sie daher ein Dynpro generieren, das aus der Fehlernachricht zusammengesetzt ist. Die Mindestversion für die ausgegebene Fehlernachricht könnte so aussehen:

Auch interessant

Mehr zum Thema