echo $begrüßung;
ich versuche gerade irgendwie zu realisieren, dass man ein Bild in eine Datenbank speichert.
Meine Tabelle ist vorbereitet (mit ID, und einer Spalte für das Bild, die BLOB sein muss, oder?).
Es gibt verschiedene BLOB-Typen, die sich bezüglich der Größe unterscheiden. Ein BLOB mit einer Größe von 2^16 wird schwerlich 797736 Byte aufnehmen können.
- Problem: Wenn die Datei aus dem Formular übergeben habe, bekomme ich, wenn ich var_dump($_FILES); habe, folgende Ausgabe:
array(1) { ["datei"]=> array(5) { ["name"]=> string(16) "test.png" ["type"]=> string(9) "image/png" ["tmp_name"]=> string(22) "\tmp\php82.tmp" ["error"]=> int(0) ["size"]=> int(797736) } }
Das ist nur Information über den Upload. Wenn du vor dem Ausgeben komplexer Strukturen mit var_dump() oder print_r() ein <pre> ausgibst, bekommst du eine übersichtlichere Darstellung. Wie du an die Datei kommst, steht im Kapitel Handling file uploads.
Wie bekomm ich das Bild jetzt als Bild-Ressource?
Du meinst Bild-Ressource wie für die Image-Funktionen? Das ist für deinen Fall uninteressant, wenn du nicht auch noch Bildbearbeitung machen möchtest. So eine Bild-Datei unterscheiet sich nicht von einer Musik-Datei oder digitalisierten Kekskrümeln. Du brauchst nur Dateifunktonen, um ihren Inhalt auszulesen. Den musst du dann der Datenbank übergeben. Dazu kannst du die Bilddaten in ein herkömmliches Statement einbetten (inklusive Beachtung des Kontextwechsels und der damit einherzugehenden Behandlung der Daten) und dieses zum Server senden. Oder du verwendest eine moderne Datenbankschnittstelle, die Prepared Statements anbietet.
Wenn ich das Bild irgendwann einmal anzeigen lassen will, will ich dass nach der Abfrage eine PHP-Bildressource des Bildes erstellt wird. Wie geht das?
Zum Auslesen mit anschließendem Zum-Browser-Schicken brauchst du ebenfalls keine Bild-Ressource. Du musst einfach nur die Daten mit passendem ContentType versehen ausgeben.
echo "$verabschiedung $name";