Hifidelio-User.de

Das (inoffizielle!) Forum für Hifidelio-User
Aktuelle Zeit: 23.06.2017 00:09

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: HTML-Code (download erzwingen)
BeitragVerfasst: 09.01.2010 20:54 
Offline
Moderator
Benutzeravatar

Registriert: 21.05.2005 14:31
Beiträge: 2388
Wohnort: 52.429105,10.810525
Hi zusammen,

ich habe den Plan, auf meiner Webseite eine mp3-Datei abzulegen, und diese zum Download anzubieten.

Was ich aber immer wieder blöd finde, und daher unterbinden möchte, ist, dass der Browser anfängt, die Datei zu öffnen, und abzuspielen.

Klar, mit "Speichern unter" bei rechte Maustaste ist das Problem nicht da - aber jeder, der draufklickt, öffnet die Datei trotzdem erst einmal.

Ich hab irgendwie im Hinterkopf, dass das einfach mit einem HTML-Befehl zu machen ist.
Das File als zip anzubieten, will ich auch nicht unbedingt.

Ich hab dazu schon eine Menge rumgesucht - und den ultimativen Tipp leider noch nicht gefunden. Auch bei Selfhtml.org nicht.

hm.
oder geht das nur mit einem php-script?

Bin gespannt,
Space

_________________
nope!


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 09.01.2010 22:49 
Offline
Benutzeravatar

Registriert: 23.04.2006 10:54
Beiträge: 139
Wohnort: 52°41'44 N, 7°17'40E
Hallo,

mit HTML-Mitteln wirst Du es nicht schaffen den "Speichern unter" Dialog zu erzwingen. Dies kann nur durch den entsprechenden HTTP-Header gesteuert werden. Der Header dazu ist "Content-Disposition". Evtl. kannst Du das über eine Konfiguration des Webservers schaffen, ansonsten kommst Du an der Erstellung eines Download-Skriptes vorbei. Bei Microsoft gibt es einen Artikel zu dem Thema.

grüsse,

Matthias


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 10.01.2010 00:07 
Offline
Moderator
Benutzeravatar

Registriert: 21.05.2005 14:31
Beiträge: 2388
Wohnort: 52.429105,10.810525
Hi Matthias,

Danke für den Hinweis!
Du hast recht, einfach nur mit HTML geht es nicht ...
ich hab selbst auch noch weiter gegrübelt, probiert und gebastelt.

Das mit dem php geht - wenn man es vermeidet, in der txt-Datei (unsichtbare) Zeilenumbrüche zu haben.
Das war bei mir das Problem ... wenn der Code nicht sauber ist, öffnet sich nämlich durchaus der "Speichern unter" Dialog - aber gespeichert wird das php-script.

ich hab nun die Lösung mit php!
Nebenbei auch noch definitiv sicher, da man innerhalb der php-Datei angibt, welche Dateien genau downloadbar sind. Alles, was nicht exakt so heißt, wird abgelehnt.
(php könnte sonst eine Sicherheitslücke sein, glaube ich)
Wichtig ist, keine unsichtbaren Zeilenumbrüche im php-script zu haben. Da hab ich lang gebastelt!

Der Code für die php-Datei (txt-Datei, die man dann umbenennt in .php) ist dieser: (exakt so bei mir auch der webseite stehend)

Code:
<?$erlaubt = array("garten_eden.mp3", "downloadtest.php.pdf");if (in_array($_GET[file], $erlaubt)){header("Content-type: application/octet-stream");header("Content-Disposition: attachment; filename=".$_GET[file]);
readfile($_GET[file]);}else{die("Datei nicht zugelassen, nicht erlaubt, oder sie hat mal Pause. Vielleicht ist die Datei auch grad unterwegs.");}?>



Was noch wichtig ist: die download.php muss im selben Verzeichnis wie die Datei zum Download stehen. bei mir im Unterverzeichnis /downloads.
Der Link auf der Webseite, der auf diese Datei verlinkt, muss dann das Attribut zur Download-Datei dazubekommen.

Das sieht dann so aus:

Link:
Code:
downloads/download.php?file=garten_eden.mp3



So, das war dann mal die Lösung ...
wenn man es richtig macht, funktioniert es auch.


Die Datei, um die es geht, ist übrigens hier zu finden:
Webseite mit Lesung von Andreas Eschbach, Garten Eden (24 min)

Wenn es bei jemand doch nicht funktionieren sollte, kann er sich ja mal kurz melden. Aber bei mir ging es mit allen Browsern, die ich so hab.
Space

_________________
nope!


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de