Bilder direkt downloaden |
coopernicus
Pixelschubser Threadstarter
Beiträge: 20 |
Hallo Gemeinde,
man sagte mir, in PHP gibt es eine Lösung:
wie stellt man eigentlich Bilder auf einer Seite zur Verfügung, ohne dass diese vorher geöffnet werden müssen? Und ohne gezippt werden?
D.h. ich habe einen kleinen Thumbnail und eine Originaldatei in bspw. 1,5MB Größe.
Wie kann ich diese O-datei downloaden, ohne das Bild im Browser vorher zu laden?
Ich meine im Prinzip: Wie kriege ich den Befehl: "Rechte Mausetaste --> Bild speichern unter" auf die einfache linke Maustaste ?????
Ist für mein weiteres Leben sehr wichtig :o)
Vielen Dank für die Hilfe.
|
 Profil
Website
Editieren
Zitieren
|
Andreas S
Otto-Normal-Poster
Beiträge: 81 |
Speicher den folgenden Code in einer PHP Datei (image.php):
Das ganze rufst du dann so ab:
1: |
|
Natürlich musst die verschiedenen Bilder ID's mit GET an das Skript weiterleiten -- Also erst den Code auf deine Anforderungen umschreiben.
Diese Nachricht wurde geändert von: Andreas S |
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Hm...hatte es jetzt so gedacht, dass man auf die Dateien direkt zugreifen kann. Aber so geht es natürlich auch.
Can
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
coopernicus
Pixelschubser Threadstarter
Beiträge: 20 |
Klasse Andreas,
es funktioniert. Hast ein Bier bei mir gut :o)
error_reporting(E_PARSE);
header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=".$bild."");
header("Content-Length: ".filesize(getcwd().".$bild.""));
readfile(getcwd().".$bild."");
?>
bei:
Aber ein Kleinigkeit ...
Wie kann ich den Originaldateinamen des Bildes übernehmen? Jetzt lade ich die Datei
"Bild1.jpg" unter dem Namen "Image.jpg" herunter.
Nochmals: Danke für die Hilfe
|
 Profil
Website
Editieren
Zitieren
|
Andreas S
Otto-Normal-Poster
Beiträge: 81 |
Deine Frage hab ich nicht 100% verstanden...
Der Dateiname wird über: image.php?bild=XXXX mit Get and das Script übertragen, also musst du nur XXXX ändern.
Übrigens, der Sicherheit wegen: image.php sollte nur Zugang zu den Bildern haben - sonst könnte man jede Datei auf dem Server downloaden...
Diese Nachricht wurde geändert von: Andreas S |
 Profil
Editieren
Zitieren
|
coopernicus
Pixelschubser Threadstarter
Beiträge: 20 |
okay, nochmal etwas deutlicher:
ich habe das Bild Bild1.jpg. Dieses biete ich zum Download
an über die Datei Image.php (s.o.).
Wenn ich meinen Link aktiviere, lade ich mit dem oben
genannten Script auch den Inhalt von Bild1.jpg auf meinen Rechner, aber:
der Name des Bildes, wenn ich das Zielverzeichnis für den Downloadvorgang auswähle, wird mir Image.jpg angezeigt bzw. vorgeschlagen und leider nicht Bild1.jpg. Wie ändert man das?
Ich hoffe, ich habe meine frage deutlicher gemacht? :o)
Vielen Dank für die Mühe.
|
 Profil
Website
Editieren
Zitieren
|
Andreas S
Otto-Normal-Poster
Beiträge: 81 |
achso, der Dateiname wird mit "attachment; filename=DATEINAME.EXT" festgelegt.
Da du aber für alles die selbe Variable verwendest ($bild), sollte der Name eigentlich auch Bild1.jpg sein.
Welchen Browser verwendest du? Mit IE6 wird bei mir Bild1.jpg als Dateiname verwendet...
Diese Nachricht wurde geändert von: Andreas S |
 Profil
Editieren
Zitieren
|
coopernicus
Pixelschubser Threadstarter
Beiträge: 20 |
ok, ok - bin schon drauf gekommen. ich habe statt
"attachment; filename=Bild1.jpg" auch den Pfad mit eingegeben ...
So geht's jetzt - d.h. beim IE6 : Der Netscape will ja darauf nicht
reagieren. Ich bin ja schon dankbar für die Lösung bislang, ABER
gibt's einen Weg für den unseeligen Netscapen und seine Versionen ???
Viele sonnige Grüße :o)
|
 Profil
Website
Editieren
Zitieren
|
Andreas S
Otto-Normal-Poster
Beiträge: 81 |
Zwing sie einfach IE zu benutzen.... ;)
Im ernst, Ich hab jetzt eine halbe Stunde versucht in verschiedene Foren (devshed, phpbuilder, php.net, etc) abzusuchen um eine Lösung zu suchen.. aber bis jetzt keine gefunden. Netscape 4.x ignoriert offensichtlich den "Content-Disposition" header oder interpretiert ihn falsch....
Diese Nachricht wurde geändert von: Andreas S |
 Profil
Editieren
Zitieren
|
Eberhardt Müller
Pixelschubser
Beiträge: 1 |
Nichts da. Der Alternativtext fehlt.
error_reporting(E_PARSE);
header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=".$bild."");
header("Content-Length: ".filesize(getcwd().".$bild.""));
readfile(getcwd().".$bild."");
?> |
Du willst tatsächlich, dass die Benutzer alle Dateien auf deinem Rechner, die für PHP lesbar sind, lesen kann (und das auch noch ohne PHP-Interpretation)?
Zwing sie einfach IE zu benutzen.... ;) |
Du willst deine Benutzer zwingen, deine Seite sofort wieder zu verlassen?
Mal abgesehen davon: Wie willst du es bewerkstelligen, zu überprüfen, ob der Benutzer den M$IE hat?
|
 Profil
Editieren
Zitieren
|