Hallo zusammen,
ich glaube hier wurde schon mehrfach die Frage gestellt, ob man einen Download erzwingen kann. Ich habe heute auf http://www.pctipp.ch/helpdesk/kummerkasten/archiv/internet/27192.asp einen Hinweis gesehen:
ich glaube hier wurde schon mehrfach die Frage gestellt, ob man einen Download erzwingen kann. Ich habe heute auf http://www.pctipp.ch/helpdesk/kummerkasten/archiv/internet/27192.asp einen Hinweis gesehen:
Links direkt auf dem Computer speichern lassen
Meldung vom 24.04.2004
Ich möchte auf meiner Website Filme zum Download anbieten. Wenn ich jedoch einen Link zu der entsprechenden Datei setze, werden die Filme nicht heruntergeladen, sondern im Browser geöffnet. Was muss ich tun, dass die Filme (avi, mpg, mov, asf) wirklich auf dem Computer gespeichert werden?
Ob eine Filmdatei im Browser angezeigt wird, hängt von der Browser-Konfiguration des Besuchers ab. Wenn der Browser das entsprechende Plug-In besitzt, kann er den Film im Browserfenster abspielen lassen, andernfalls kommt die Aufforderung zum Speichern oder direkten Öffnen. Es gibt jedoch eine Möglichkeit, den Browser dazu zu bringen, dass er die Speicher-Aufforderung immer anzeigt. Mit CGI oder PHP können Sie den HTTP-Header verändern, der dem Browser Informationen über den Inhalt der kommenden Datei gibt. Das untenstehende Beispiel führt dazu, dass der Browser die Dateien immer herunterlädt. Ihr Webserver muss dazu die Skriptsprache PHP unterstützen, was heute bei den meisten Servern der Fall ist.
Erstellen Sie in einem beliebigen Editor eine neue Textdatei. Füllen Sie diese mit folgendem Code:
<?
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$file);
readfile($file);
?>
Speichern Sie die Datei im Verzeichnis, wo sich die Downloads befinden, unter dem Namen «download.php» ab.
Wenn Sie die Datei «meinfilm.mov» nun verlinken möchten, verwenden Sie «download.php?file=meinfilm.mov» als Linkadresse. Klickt man den Link an, erscheint das Fenster mit der Speicher-Aufforderung. Der Link funktioniert jedoch nur, wenn Sie ihn auf dem Webserver testen. (mb)