online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon programmierwilly vom 18.07.2021, 15:40 Options

[php] Zerstört base64 binäre Daten?

Hallo Leute,

meine mit base64 gespeicherten Daten scheinen irgendwie kaputt zu sein, bzw. scheine ich etwas aus Unwissenheit nicht beachtet zu haben.

Speichern:
HTML-Formular -> Upload(Multipart) -> PHP-Skript -> base64_encode -> INSERT in SQL

Lesen:
PHP-Skript -> base64_decode -> an Client mitMIME Image/jpg -> Fehler

Browser zeigt bei Bildern kein Bild, sondern nur die URL die eigentlich das Bild liefern sollte

Bei header mit attached- Kennung werde ich zum speichern aufgefordert, das Bild ist jedoch auch mit Gimp nicht zu öffnen.

Irgendwo werden irgendwie die Daten vermurxt

was ist bei meinem Prozess zu beachten? Gibt es irgendwelche mir nicht bekannten Tricks?

DANKE!


Antwort schreiben

Antwort 1 von Supermax vom 18.07.2021, 17:06 Options

Poste doch mal den relevanten Code.

Eventuell ist eine der "magic_quotes"-Direktiven für PHP aktiviert, sodaß irgendwo in deine base64-codierten Daten überflüssige Zeichen eingefügt werden.

Antwort 2 von programmierwilly vom 18.07.2021, 18:26 Options

Hallo Supermax,

zu den "magic-quotes" kann ich nichts sagen, bis zu deinem Posting wusste ich nicht mal von deren Existenz... Mein Server ist eine normale Ubuntu 9.04 Version ohne jegliche Änderungen an Apache oder PHP. Alles ist so wie es automatisch eingerichtet wird.

Code kann ich jetzt noch nicht posten, das relevante System ist in einer anderen Stadt. Ich schau nachher nochmal hier rein.

Hast du denn einen Verdacht woran es liegen könnte? Die Daten einer Datei werden ja nur als String verarbeitet. Eigentlich kann man (naja außer ich scheinbar) dabei nix falsch machen :)

Vielen Dank erstmal

Antwort 3 von programmierwilly vom 18.07.2021, 22:09 Options

Nachtrag:

Nun habe ich eine einfache .txt-Datei in die Datenbank gespeichert und ausgelesen. Beim Auslesen habe ich

header ("Content-type: image/png");
header("Content-Disposition: attachment");

genommen und die Datei gespeichert. Das anschließende Öffnen der Datei mit einem Texteditor hat bestens funktioniert, der Inhalt war absolut fehlerfrei. (Wobei die Datei auch sehr kurz war 2 Zeilen, 20 Zeichen)

Die Ausgabe habe ich mit

print $datei;
exit;

umgesetzt. Wo könnte mein Problem liegen? Es muss doch möglich sein Dateien mit beliebigen Inhalten wieder aus der DB zu bekommen...

Hilfe :)

Antwort 4 von programmierwilly vom 18.07.2021, 22:17 Options

Nachtrag 2:

Die Untersuchung eines Vorganges mit einer Bilddatei hat ergeben:

Originaldatei 789 Byte
ausgelesene und gespeicherte Datei 827 Byte

Das sind 38 Byte zu viel...

Ähnliche Themen

ist php.exe quasi das selber wie php-cgi.exe?
TByte  04.09.2008 - 66 Hits - 13 Antworten

Apache PHP, PHP wird nicht interpretiert
Kreavis  20.11.2008 - 106 Hits - 2 Antworten

(PHP) einen PHP-Parser mit PHP programmieren
skribbtkiddie  17.07.2009 - 356 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026