Psydl: jpeg aus poststring erstellen

Hi Leute,

ich hoffe ihr könnt mir helfen?
Ich habe folgendes problem. Ich habe eine Bilddatei die ich von Script "a" per php auslese.

$file = "test.jpg";
$filesize = filesize($file);
$imageload = fopen($file, "rb");
$image = fread($imageload,$filesize);
fclose($imageload);
$base = base64_encode($image);

Die daten schicke ich dann über einen post-request an das Script "b".

Beim Script "b" empfange ich die daten wieder und würde gerne Das bild wieder erstellen, bloß funktioniert das einfach nicht.

<?php
echo "<br>";
echo "=========Text=========<br>";
if (!empty ($_POST['datei'])){
$datei = $_POST['datei'];
//var_dump ($datei);
$ausgabe = base64_decode ($datei);
//echo $ausgabe;
$handle = fopen ("test.jpg","w");
fwrite ($handle,$ausgabe);
fclose ($handle);

}

?>

Was mach ich falsch?

Danke

  1. Hello,

    wie sieht es so aus?

    if (!empty ($_POST['datei']))
     {
         $handle = fopen ("test.jpg","w");
         fwrite ($handle,$_POST['datei']);
         fclose ($handle);
     }

    header('content-type: image/jpeg');
     readfile('test.jpg');

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. Hallo,

    Beim Script "b" empfange ich die daten wieder und würde gerne Das bild wieder erstellen, bloß funktioniert das einfach nicht.

    nein, natürlich nicht.

    <?php
    echo "<br>";
    echo "=========Text=========<br>";
    if (!empty ($_POST['datei'])){
    $datei = $_POST['datei'];
    //var_dump ($datei);
    $ausgabe = base64_decode ($datei);
    //echo $ausgabe;

    Mit dem echo kann das nichts werden - du kannst schließlich nicht einfach die binären Bilddaten innerhalb des HTML-Dokuments ausgeben. Ein Bild ist eine separate Ressource, und muss auch als solche angefordert werden. Und dann hat es den Content-Type image/* (z.B. image/jpeg).

    $handle = fopen ("test.jpg","w");
    fwrite ($handle,$ausgabe);
    fclose ($handle);

    Das müsste funktionieren, damit legst du auf dem Host, wo Script b läuft, eine neue Datei an, die dem Originalbild entspricht.

    So long,
     Martin

    --
    Warum können wir heute so sicher sagen, dass Gott keine Frau sein kann?
    Weil dann nach "Es werde Licht" der nächste Satz "Wie sieht denn das hier aus?!" gewesen wäre.