Bilder aus Fotoalbum im Originalformat speichern

mighty666

Well-known member
ID: 28078
L
28 April 2006
7.752
778
Und zwar hätt ich diesmal folgendes:
ich wollte letztens die Pics aus meinem Fotoalbum abspeichern und habe dabei bemerkt, dass ich seitdem ich den Premium-Account hab, mir ja die Bilder aus Fotoalben auch in Großformat anschauen (bzw im Originalformat) kann. Allerdings kann ich die in dem Format dann nicht abspeichern. Da bleibt nur eine "view_orig.php", die gespeichert werden kann, übrig...

Ist das ein Bug oder Absicht?



Die normal-großen Bilder in meinem Fotoalbum haben ja leider nicht die Qualität, dass man die großartig weiterverwenden könnte. Nur das Originalbild :-?
 
Rechtsklick => Bild speichern unter...

Kommt bei mir: view_orig.jpg
Geht also :think:
 
Ich tippe auf Faulheit ;)
PHP:
header("Content-Disposition: inline; filename=\"sinnvoller_filename.jpg\"");
(habs noch nie ausprobiert, aber so müsste es gehen)

P.S. Hat mich auch schon öfters genervt.
 
komisch...

scheint also bei mir am Firefox zu liegen. Hab dasselbe grade auch mit Opera versucht, da kam dann die view_orig.jpeg

8O

aufm Laptop dasselbe Ding. FF zeigt nur ne php.

Nach ändern der Dateierweiterung in jpg funktioniert das Ganze dann aber :ugly:
 
komisch...

scheint also bei mir am Firefox zu liegen.
Ne, liegt an dir und an klamm.

klamm gibt keinen Dateinamen vor (s. mein Vorschlag oben, um das zu ändern), deshalb zeigt jeder Browser, was er will. Firefox nimmt einfach den Scriptnamen, Opera is dann wohl so clever und erkennt, dass es ein JPEG-Bild und ändert die Endung.

Grundsätzlich kannst dus speichern, wie du willst. Du musst halt, wenn du so dumm bist, das Bild mit Endung .php abzuspeichern :ugly:, deinem Grafikprogramm auch sagen, dass es die PHP-Datei als JPEG-Bild öffnen soll. Dann klappt es selbst mit der "entwendeten" Dateiendung.
 
kommt drauf an, ob beim eigenen Fotoalbum oder bei Fremden.

Bei fremden Fotoalben halt ich das aus datenschutzrechtlichen Gründen für nicht ganz sinnvoll. :ugly:
so nach dem Motto: "alle Daten vom User herunterladen und für die Ewigkeit speichern..."

^^
 
Sollte ja ansich eine Arbeit von 5 Minuten sein, oder? Alle Bilder in ein ZIP-Archiv packen und zum Download anbieten lassen - wäre auf jeden Fall ein praktisches Feature :)
... wenn das kein Static-Server wäre und PHP liefe, ja. ;)

Ich könnte zwar die Bilder per FTP im Hintergrund auf den jeweiligen WWW laden, zippen und ausliefern, aber das dauert zu lange (bei mir wären es z.B. mehr als 1000 Dateien). Kann man per FTP-Protokoll irgendwie sagen "ftp_get_verzeichnis_zipped"?
 
Kann man per FTP-Protokoll irgendwie sagen "ftp_get_verzeichnis_zipped"?
FTP schickt/lädt nur einzelne Dateien via STOR/RETR.
Wenn du Verzeichnisse haben willst, musst du das selber implementieren und rekursiv alle Dateien downloaden und Verzeichnisse erstellen. Wenn du zippen willst, musst du das vorher schon gemacht haben.

Am einfachsten wäre für sowas n Shellscript. Erst n
Code:
tar cfz /var/www/public/pics.tar.gz /var/www/pics/69505/
machen und dann dem User diese Datei zum Download anbieten. Auf die Downloadseite ggf. n Hinweis, dass es dauern kann, bis der Download startet, da der tar-Befehl ja ne Weile machen kann.
 
Am einfachsten wäre für sowas n Shellscript.
Klar.
Bleibt nur die Frage, wie ich von einem wwwX aus dem Static-Server mitteile, dass er Shellscript ausführen soll. :-? Höchstens ein Batch-Bot, der sich dann dort einloggt und das alles macht und dem User dann das File bereitstellt wenn er fertig is.
 
Wenn dein Static-Server selber nix machen kann, dann musst du halt vom WWW aus per FTP alle Files (ungezippt :-?) abholen.
PHP:
$pics = db("SELECT id FROM pics WHERE ...");
ftp_open(staticserver);
foreach($pics as $pic)
  ftp_retr($pic);
zip($pics, "pics.zip");
readfile("pics.zip");
so vom Prinzip her.
 
Jo aber LIVE geht das nicht bei >X Bildern.

Ich könnte aber default-mäßig den "Alle-Originale-Ordner" gzipped hinterlegen.
Frisst halt ne Menge Speicher aber ich glaub den haben wir *eckifrag*.
 
Machs halt nur auf Anfrage. Und wenn das Zipfile fertig is, schick vom System aus ne Nachricht über den Messenger mit dem Downloadlink.
Ggf. kannst du dann sogar ein Verfallsdatum für das File festlegen und Speicher sparen, wenn nur 10 von 300.000 Usern das jemals nutzen.