Download - Problem mit der download.php einbindung
Diana Oertel
- php
0 milky0 Diana Oertel0 milky0 Diana Oertel0 milky
Hallo liebe Forumsmitglieder,
ich schreibe hier heute zum erstenmal eine Nachricht und hoffe das ich nicht all zu viel falsch mache. Habe gestern wohl schon was falsch gemacht, glaube ich.
Habe mich nun schon durch alle Archive stundenlang durchgekämpft, auch viele Artikel dazu gefunden, jedoch nicht schlau geworden. Hoffe sehr, das man noch einmal auf mein anliegen reagiert.
Nun zu meinem Problem:
Ich möchte einige pdf-Dateien zum download anbieten, mit der Aufforderung >>Ziel speichern unter ... <<. Dazu gleich die Info, es sollen keine xxx.zip Dateien sein.
Ich habe mir eine Datei namen`s download.php angelegt mit folgendem Inhalt:
<? $download = $_GET['down01']
$_GET['down02']
$_GET['down03']
$_GET['down04']
$_GET['down05']
$_GET['down06']
$_GET['down08']
$_GET['down08']; //$_GET['down01''down02''down03''down04''down05''down06''down07''down08'];
$basedir = "file://../seminare/download";
$filelist = array(
$_GET['down01'] => "ernaerungsfragebogen.pdf",
$_GET['down02'] => "ernaerungsprotokoll.pdf",
$_GET['down03'] => "was-ist-nlp.pdf",
$_GET['down04'] => "tcm-fakten.pdf",
$_GET['down05'] => "quigong.pdf",
$_GET['down06'] => "preisliste.pdf",
$_GET['down07'] => "agb.pdf",
$_GET['down08'] => "literaturliste.pdf");
if (!isset($filelist[$download]))
die("Datei $download nicht vorhanden.");
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);
header("Content-Type: application/octet-stream");
header("Content-type: application/force_download");
header("Cache-control: private");
$save_as_name = basename($filelist[$download]);
header("Content-Disposition: attachment; filename="$save_as_name"");
readfile($filename);
?>
Leitfaden: http://www.dclp-faq.de/q/q-datei-download.html
Anschließend habe ich in der HTML-Datei, in welcher der ausgewiesene Downloadlink beschrieben ist, folgendes im Quelltext eingetragen:
<td width="190" valign="top">
<p style="margin-left: 15px; margin-top: 0; margin-bottom: 0"><a onmouseover="Vorschau('bild1')" type="application/octet-stream" href="../download/download.php?$download=$_GET=['down01']">Ernährungsfragebogen</a></td>
Wenn ich nun diesen Link anklicke geht die download.php auf, und nicht wie gewünscht das Fenster <<Ziel speichern unter...>>.
Was muss ich nun noch eintragen und wo, damit aus meinem "Verweis" ein Download wird?
Wer hat noch einmal die Geduld mir zu helfen.
Mit freundlichen Grüßen Diana
Hey,
Wenn ich nun diesen Link anklicke geht die download.php auf, und nicht wie gewünscht das Fenster <<Ziel speichern unter...>>.
Möglicherweise kannst/darfst du kein PHP verwenden?
Und eigentlich ist das auch völlig unnötig, mit <a href="..." type="...">
warst du doch schon auf der richtigen Spur. Schenk` dir einfach deine
download.php (mit der wirklich unglücklichen Syntax), und notiere ganz
gewöhnliche HTML-Verweise:
<a href=".../download/...pdf" type="application/x.force-downl">...</a>
Und das Download-Fenster kannst du erzwingen, in dem du deine PDF-Dateien
in einen Ordner packst, in dem du eine ".htaccess" plazierst, die den
Befehl "ForceType application/x.force-download" enthält (-> Archiv).
Alternativ geht auch "RemoveType .pdf" und "AddType x.app/x.down .pdf"
oder sowas in der Art.
MsF,
milky
hallo milky
vielen dank für deine antwort, will mal gleich antworten.
Möglicherweise kannst/darfst du kein PHP verwenden?
also die download.php in download.html ändern
oder einfach weg lassen
»»notiere ganz
gewöhnliche HTML-Verweise:
<a href=".../download/...pdf" type="application/x.force-downl">...</a>
das ist nicht schwer, werde ich so eintragen
Und das Download-Fenster kannst du erzwingen, in dem du deine PDF-Dateien
in einen Ordner packst, in dem du eine ".htaccess" plazierst, die den
Befehl "ForceType application/x.force-download" enthält (-> Archiv).
Alternativ geht auch "RemoveType .pdf" und "AddType x.app/x.down .pdf"
oder sowas in der Art.
in diesem abschnitt fängt es an weh zu tun. habe darüber auch schon gelesen. von solcher .htaccess datei habe ich nicht die blasse ahnung und wollte somit dies umgehen. weder eiss ich wie das funktioniert oder wo man solche datei herbekommt. bin ein totaler grünschnabel. darum habe ich auch eine download.php angelegt.
mit freundl. grüßen diana
Hey Diana,
also die download.php in download.html ändern
oder einfach weg lassen
Nicht benutzen. Löschen.
in diesem abschnitt fängt es an weh zu tun. habe darüber auch schon gelesen. von solcher .htaccess datei habe ich nicht die blasse ahnung und wollte somit dies umgehen. weder eiss ich wie das funktioniert oder wo man solche datei herbekommt. bin ein totaler grünschnabel. darum habe ich auch eine download.php angelegt.
Du legst eine Datei mit dem Namen "htaccess.txt" an (Texteditor nach
Belieben) und lädst die dann mit einem FTP-Programm auf den Webserver.
Dort benennst du die Datei um, in ".htaccess" - Punkt am Anfang,
keine Dateiendung.
In diese Datei schreibst du vorher hinein:
RemoveType .pdf
ForceType application/x.herunter-laden
In SelfHtml steht auch etwas zur ".htaccess"-Datei. Und bei
http://www.apache.org/ wird die Geschichte mit ForceType und der
".htaccess" auch erklärt.
MsF,
milky
und nocheinmal ein hallo milky
Nicht benutzen. Löschen.
hab ich gemacht
Du legst eine Datei mit dem Namen "htaccess.txt" an (Texteditor nach
Belieben) und lädst die dann mit einem FTP-Programm auf den Webserver.
Dort benennst du die Datei um, in ".htaccess" - Punkt am Anfang,
keine Dateiendung.In diese Datei schreibst du vorher hinein:
RemoveType .pdf
ForceType application/x.herunter-laden
das habe ich auch schon gemacht, genau so wie du es beschrieben hast. in der xxx.html wo die downloads angeboten werden habe ich folgendes eingetragen:
<td><a onmouseover="Vorschau('bild1')" type="application/x.force-downl" href="../download/ernaerungsfragebogen.pdf">Ernährungsfragebogen</a></td>
muss da noch was in den quelltext mit eingetragen werden?
In SelfHtml steht auch etwas zur ".htaccess"-Datei. Und bei
da habe ich die ganze zeit über gelesen, gelesen und nochmals gelesen. ein ganz schön großer urwald
http://www.apache.org/ wird die Geschichte mit ForceType und der
".htaccess" auch erklärt.
dort werde ich mich dann auch noch hinbegeben, um weiter zu kommen.
FRAGE:
funktioniert das ganze nur via server? als ich das auf meiner festplatte ausprobiert habe, da hat er mir die xxx.pdf angezeigt und nicht gefragt wohin er diese speichern soll?
für deine viele mühe noch ein großes DANKESCHÖN
mit freundl. grüßen diana
Hey Diana,
<td><a onmouseover="Vorschau('bild1')" type="application/x.force-downl" href="../download/ernaerungsfragebogen.pdf">Ernährungsfragebogen</a></td>
muss da noch was in den quelltext mit eingetragen werden?
Nö, das wars. Wenn dein Browser aber immer noch kein "Speichern unter..."
anzeigt, dann stimmt etwas mit dem nicht (vermutlich ist es dann ja
wohl der IE).
http://www.apache.org/ wird die Geschichte mit ForceType [...]
dort werde ich mich dann auch noch hinbegeben, um weiter zu kommen.
Dort steht alles, was du wissen mußt. Eine deutschsprachige Dokumentation
zum Webserver (Apache) kannst du dort auch herunterladen.
funktioniert das ganze nur via server? als ich das auf meiner festplatte ausprobiert habe, da hat er mir die xxx.pdf angezeigt und nicht gefragt wohin er diese speichern soll?
Nein. ".htaccess" funktioniert nicht auf deiner Festplatte. Alle
Einstellungen in der ".htaccess" werden nur von einem Webserver
verwendet.
Wenn eine Datei von einem Webserver heruntergeladen wird,
funktioniert das nämlich völlig anders, als wenn eine Datei von
der Festplatte geladen wird (-> viele Zusatzinformationen
werden übertragen).
Sollte bei dir dann immernoch kein Download-Fenster erscheinen,
kannst du die Dateien bestenfalls noch umbenennen (aus .pdf mach
.bin). Der Nachteil wäre natürlich, daß die Datein dann auch mit
der falschen Endung abgespeichert würden.
Oder probiere einen besseren Browser aus: http://www.mozilla.org/,
damit du siehst, daß normalerweise ein Downloadfenster kommen
würde (- wenn sich dein IE verstellt hat).
MsF,
milky
hey milky,
so nun hab ich alles verstanden und wohl auch alles richtig gemacht. der große moment wird sich zeigen wenn alles auf dem server hochgeladen wird.
unter der von dir angegebenen webadresse hatte ich schon leichte panik wegen dem engl. aber da werde ich mir das deutsche dann runterladen.
ah so, ich arbeite unter linux und windows. windows für programme zum testen oder weil ich nicht alle programmme unter linux mag und linux selber wird ausschließlich zum surfen genutzt.
also alle browser benutze ich für testeinstellungen.
so, das soll`s gewesen sein. hab noch mal vielen dank für deine unterstützung und noch einen restlichen schönen sonntag.
es grüßt diana