Bild auf Klick Downloaden, wie?

Hallo
Wie kann man das machen das man auf einen Link klickt und dann ein Bild Downloadet ? o.0 :astonished:
Hab ich hier gefunden :
sicher-im-netz.de/downloads/123.aspx
MfG

ich glaube, dass man (vielleicht mit ner .htaccess) dem Broswser vorspiegeln konnte, dass das eine andere Dateiendung = nicht öffenbare Datei is… kannst ja mal bei google suchen… irgendwer hatte da mal ne Lösung zu… (michi7x7?..ka)

http://web-sniffer.net/?url=https%3A//www.sicher-im-netz.de/files/images/P_Profil_Hacker.jpg&http=1.1&gzip=yes&type=GET&uak=0

Das sorgt dafür, dass die Bilder gedownloadet werden. Du müsstest eben ein Script schreiben, welches den Header und die dazugehörige Datei ausgibt.
Mit mod_headers könnte man vielleicht auch tricksen.

he :qst:
Was müsste jetzt ihn meine html Datei einbinden???

In die HTML-Datei gar nichts.

Wo dann ?

Das ist so typisch a’la Homepagebaukasten. Einfach irgendwo nen
paar Zeilen reinkopieren, fertig.
Dazu musst du halt ein php-Script anfertigen, mit
einfach nur “einfügen” wird es nichts.

:qst:

Ich weiss nicht wie man das macht…
Hab nicht viel anung von PHP …

Du öffnest Deinen Editor und erstellst (zunächst) eine leere Seite …
in diese fügst Du folgenden Code ein

[code]<?php

function dl_file($file){

//First, see if the file exists
if (!is_file($file)) { die(“404 File not found!”); }

//Gather relevent info about file
$len = filesize($file);
$filename = basename($file);
$file_extension = strtolower(substr(strrchr($filename,"."),1));

//This will set the Content-Type to the appropriate setting for the file
switch( $file_extension ) {
case “pdf”: $ctype=“application/pdf”; break;
case “exe”: $ctype=“application/octet-stream”; break;
case “zip”: $ctype=“application/zip”; break;
case “rar”: $ctype=“application/rar”; break;
case “doc”: $ctype=“application/msword”; break;
case “xls”: $ctype=“application/vnd.ms-excel”; break;
case “ppt”: $ctype=“application/vnd.ms-powerpoint”; break;
case “gif”: $ctype=“image/gif”; break;
case “png”: $ctype=“image/png”; break;
case “jpeg”:
case “jpg”: $ctype=“image/jpg”; break;
case “mp3”: $ctype=“audio/mpeg”; break;
case “wav”: $ctype=“audio/x-wav”; break;
case “mpeg”:
case “mpg”:
case “mpe”: $ctype=“video/mpeg”; break;
case “mov”: $ctype=“video/quicktime”; break;
case “avi”: $ctype=“video/x-msvideo”; break;

//The following are for extensions that shouldn’t be downloaded (sensitive stuff, like php files)
case “php”:
case “htm”:
case “html”:
case “txt”: die(“Cannot be used for “. $file_extension .” files!”); break;

default: $ctype=“application/force-download”;
}

//Begin writing headers
header(“Pragma: public”);
header(“Expires: 0”);
header(“Cache-Control: must-revalidate, post-check=0, pre-check=0”);
header(“Cache-Control: public”);
header(“Content-Description: File Transfer”);

//Use the switch-generated Content-Type
header(“Content-Type: $ctype”);

//Force the download
$header=“Content-Disposition: attachment; filename=”.$filename.";";
header($header );
header(“Content-Transfer-Encoding: binary”);
header("Content-Length: ".$len);
@readfile($file);
exit;
}

?>
[/code]

anschließend speicherst Du diese Seite beispielsweise ab als dl.php (in dem Sinne
also die Download.php, abgekürzt dann dl.php)

diese dl.php kannst Du nun in den Headbereich all Deiner Seiten includen,
auf welchen Du Bilder oder auch anderes Zeug zum direkten Downloaden anbieten
möchtest … bei diesem Script hier schließt das auch Audio-, Video-, Exe-, PDF-Dateien
u.s.w. mit ein … wenn es Dir nur um Bilder geht, dann nimmst Du alles andere in diesem
Script halt raus

das Includen allerdings klappt nur auf php-Seiten und folglich mußt Du die Seiten,
auf welchen Du Bilder zum direkten Downloaden anbieten möchtest, ändern (Endung
nicht html / htm, sondern php) … den HTML-Code der betr. Seiten selbst kannst Du
so lassen wie er ist … in den Headbereich der betr. Seiten dann den Include-Befehl rein

<?php include("dl.php"); ?>

im Bilder-Ordner (der heißt bei dieser Scriptvorgabe image) bringst Du eine
.htaccess rein, und zwar mit folgendem Inhalt

<FilesMatch "\.(gif|png|jpg)$" > ForceType application/octet-stream </FilesMatch>

alle in diesem Ordner befindlichen Bilddateien werden bei Aufruf dann zum direkten
Download angeboten … das schließt selbstverständlich auch all jene Bilder mit ein,
welche sich in den Unterordnern (ganz gleich, welchen Namens) des Ordner image
befinden

hier eine Beispielsseite (mit Script-Download) :wink: --> trixi.bplaced.net/dl_direkt/testseite.php

Script-Herkunft --> de.php.net/manual/de/function.header.php (dort in etwa Seitenmitte)

greetz trixi

Thx !!! Es geht nun Danke … :smiley: :smiley: :smiley: :smiley: :smiley:
MfG

Ok, dann close ich den mal auch, ich räum ein bisschen zam bei forum.bplaced.net :p