Tom: Bilder in Temp-Ordner speichern?

Beitrag lesen

Hello Sven,

also ich habs jetzt etwas anders versucht - das Löschen klappt auch, allerdings löscht er es, bevor der Browser das Bild überhaupt laden kann. Hat sich da ein Fehler eingeschlichen oder ist das ganze Konstrukt Müll?

Die Frage, was Du mit dem Konstrukt vor hast, wurde Dir doch schon vorher gestellt.

So... da bei register_shutdown_function() keine Funktionsparameter erlaubt sind, dachte ich, ich löse das über eine Session-Variable (eine Session wird ohnehin gestartet).

Aber wie gesagt: Im Browser erscheint kein Bild. Kommentiere ich den Aufruf von unlink() aus, erscheint ein Bild. Also scheint er es zu schnell zu löschen...

Kann vermutlich nicht mehr erscheinen.
Du musst dem Browser erstmal den Namen des Bildes mitteilen.
Das tust Du vermutlich in einer HTML-Seite, die eine Image-Referenz enthält:

<img src="B3456F41AC.jpg" alt="temporäres Bild" />

Wenn der Browser dieses Stück Code erhält, ist das Bild schon wieder gelöscht.
Wenn Du unbedingt nur ein temporär gespeichertes Bild ausliefern willst, dann mach es anders:

Temporärnamen erzeugen

Bild erzeugen und unter "temporärname.jpg" speichern und unter "temporärname.php" eine Datei nach folgendem Aufbau anlegen:

<?php

header('Content-Type: image/jpeg');
readfile('path/temporärname.jpg');

unlink('path/temporärname.jpg');
unlink('temporärname.php');

?>

Wenn Du nun das Bild in einem Verzeichnis speicherst, das per HTTP nicht erreichbar ist, und "temporärname.php" als Bildressource-namen ausliefert, dann kann der Clietn dieses Bild genau einmal abfordern.

Ob das Ganze sinnvoll ist, lasse ich mal dahingestellt.
Aber es ist ein nettes Spiel.

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)