Downloads anbieten

Hallo :slight_smile:

Ich möchte auf meiner Homepage, Bilder und Codes anbieten, die man herunterladen kann.
Ich möchte aber nicht das man auf rechts Klick klickt, sondern das da ein Button ist bei dem man drauf klicken muss und dann öffnet sich das download fenster wo man es herunterladen möchte, kann mir jemand helfen wie ich das mache?

Danke :slight_smile:

Den Rechtsklick kann man mittels JavaScript unterbinden. Das kann jedoch heutzutage von jedem Browser umgangen werden, weshalb es keinen Sinn macht und die Mühe nicht Wert ist.

Wie ich die Frage verstehe, willst du den Download erzwingen. Das kannst du so machen:
[HTML]Zum Download[/HTML]

@Hallo-Welt wenn ich das mache und bei „/files/pictures.jpeg“ meine Bild datei einfüge und ich dann auf zum download klicke dann erscheint das bild und nicht der download, wie wandle ich also das bild in ein download um?:smiley:

Die Angabe des type-Attributes ist imho kein Standard, und wir vermutlich auch von keinem/den wenigsten Browsern unterstützt. Wenn Du erreichen willst, dass ein Bild als Download an den Browser zurückgegeben wird, musst Du den Content-type octet-stream serverseitig setzen. Also entweder per htaccess-Datei (falls Du einen Apache-Webserver hast) oder mit Hilfe einer PHP-Datei (wenn Du PHP zur Verfügung hast). Hilfestellungen zu letzteren findest Du z.B. hier:
http://php.net/manual/en/function.header.php

Die Angabe des type-Attributes ist imho kein Standard, und wir vermutlich auch von keinem/den wenigsten Browsern unterstützt.

Ich hab’s nur im Firefox (26.0) versucht. Dort läuft’s auf jedem Fall.

Ganz easy:

http://deinedomain.com/download.php?file=LinkzurDatei

[PHP]<?php $Datei = $_GET['file']; $Dateiname = basename($Datei); $Grösse = filesize($Datei); header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=".$Dateiname); header("Content-Length: $Grösse"); readfile($Datei); ?>[/PHP]

Sollte funktionieren.

Muss ich jetzt genau diese Datei in ein php Editor eingeben und nichts ändern und dann unter download.php hochladen und dann einfach hinter den link ?file=LinkzurDatei etzten und das link zur datei in meine png bild datei ersetzen oder noch etwas in dem pho code ändern oder mache ich grad alles falsch?:smiley:

<?php $Datei = $_GET['file']; $Dateiname = basename($Datei); $Grösse = filesize($Datei); header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=".$Dateiname); header("Content-Length: $Grösse"); readfile($Datei); ?>

Genau so ist es richtig :wink:

warten sie ich habe das vorhin gemacht das klappt aber nicht

PHP errors an und Fehler posten

das kappt nicht:/

Wie gesagt, errors an