jpeg aus poststring erstellen
Psydl
- php
0 Tom0 Der Martin
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
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
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