Bitmöp und andere Dateien in einen Array speichern und abrufen
bitmoep.php:
Ziel: Bild anzeigen!
Gayt nicht, gibts ne Möglichkeit ein Bild in ein Array zu speichern? Bzw. mehrere und vllt. auch andere Dateien?
Ich fände das nämlich gut, Sinn? Keinen, aber ich würde es eben gerne machen.
Dennis
Edit: Klar, das mit dem Pfad geht nicht, das ist wohl klar. Aber gibts ne anderer Möglichkeit das in so einer Art zu speichern?
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem
Ich würde den Kram irgendwie aus 'ner Datei holen. Und vergiss nicht, den korrekten Mimetype zu senden.
...
Gibt es ne Möglichkeit den Kram trotzdem in eine Datei zu speichern, ohne das PHP Parsing Errors bringt (der ganze Bitmöp- Kram gibt Parsing Fehler aus *arg).
So ein dummer Müll.
Muss doch machbar sein.
Oder geht es wenn ich den Müll zippe, und dann per PHP aus dem Zip File auslesen lasse?
Also das PHP die ZIP Datei virtuell entzippt und verwendet? (Also das der Zip Kram nicht zwischengespeichert werden muss)
Dennis
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem
Öhm, wie? Ich habe Windows, falls es Dich interessiert. Ich hab einfach die Bitmap mit dem Editor geöffnet (also Codiert und Komprimiert).
Sag mir was ich wie tun muss und ich werde es machen.
Dennis
...
Ich denke mit einem base64-Encode des Bildes müsste es gehen.
Dazu ließt du das Bild per PHP in eine Variable und jagst die Variable durch die Funktion:
base64_encode($variable);
Den zurückgegebenen String gibst du am besten sofort aus:
echo(base64_encode($variable));
Das was dann ausgegeben wird, das kannst du in einer Textdatei speichern.
Wenn du das Bild dann ausgeben willst, jagst du es wieder durch:
base64_decode($variable);
aber gibst es mit dem Mime-Typ image/bmp oder so aus:
beachte das sonst nichts ausgegeben werden darf.
Folgende möglichkeit könnte auch funtkioneren. Du müsstest die Dateien mit fread() binär einlesen, und dann z.B. in einem Array hinterlegen. Diesen Array dann mit serialize() serialisieren und mit fwrite() wieder binär in eine andere Datei hinterlegen. So würde dann diese zweite Datei alle Bilder enthalten.
Um auf die Bilder zugreifen zu können müsstest du die Datei wieder mit fread() einlesen und dann mit unserialize() den Array "wiederherstellen" dann nur noch den richtigen Header senden und das Bild per echo ausgeben.
Das ganze hat ne recht hohe Chance zu funktionieren allerdings ist das alles ungetested und ich weiß nicht in wiefern PHP die Daten serialisiert, aber es ist auf jeden Fall mal einen Versuch wert.
Also ich hab nen kryptischen Text vom echo encode erwartet, kahm jedoch nur die Fehlermeldung von dem decode, und zwar als ALT Attribut von dem "Bild":
Die Grafik "http://127.0.0.1/dm_/wwm2/skins/decode.bmp.php" kann nicht angezeigt werden, weil sie Fehler enthält.
Ich weiß nicht ob ihr mich ganz verstanden habt, aber ich bräcuhte ne Lösung, wie ich mehrere Bilder in eine PHP Sperren kann, dort in Arrays.
Das mit dem Binär sollte ja dann klappen, oder? Binär is ja 1er und 0er, also sollte das keine Parse Errors erzeugen.
Latency, oder wer auch immer das möchte, kannst Du mir mal eine Beispiel PHP erstellen? Ich blicke das mit dem Binär einlesen nicht so. oO
Dennis
--
«Wir können alles schaffen, wir brauchen nur genug dressierte Affen» - infinite monkey theorem
Vom Prinzip her ists recht einfach, du hast 2 Bilder diese werden in der serialize.php in die Datei SerialPics.ser serialisiert.
Um die Bilder dann anzeigen zu können müsstest du nur die unserialize.php und die SerialPics.ser weitergeben.
Aber nun zum Code
Serialize.php
Unserialize.php edit:
Ich seh gerade, dass du das mit dem Serialisieren gar nicht wolltest. Whoops, naja hoffentlich ists wenigstens ein schönes Beispiel um sich mal ein wenig die Serialisierung anzuschauen.
Aber um noch einen Versuch zu starten dir zu helfen, hier eine Datei die Bilder in einen Array liest und diese dann sofort ausgibt.