AddType application/octet-stream .csv
AddType application/octet-stream .xls
AddType application/octet-stream .doc
AddType application/octet-stream .avi
AddType application/octet-stream .mpg
AddType application/octet-stream .mov
AddType application/octet-stream .pdf
Stellt sicher, dass ihr diesen Mist in .htaccess einfügt
Das war ein brillanter Tippfehler.
Erfolg! Ich habe den obigen Code in meine .htaccess-Datei eingefügt und alles funktioniert perfekt. Allerdings stockt nach dem Download der Datei die Seitenladung und kehrt nicht zur ursprünglichen Seite zurück, von der die Datei heruntergeladen wurde?
Danke dafür, Mann! So cool, so einfach!
Übrigens, eure Website ist für mich eine der zuverlässigsten in Bezug auf viele, viele Dinge, natürlich insbesondere CSS. Ihr (alle) leistet so großartige Hilfe!! Vielen Dank dafür.
Funktioniert nicht für MS Edge. Gibt es eine Lösung?
Wow, ich habe versucht herauszufinden, wie man das macht, seit einer sehr, sehr (sehr) langen Zeit! Gibt es eine Möglichkeit, es spezifisch zu machen, zum Beispiel, wenn ich auf „Link 1“ klicke, kann ich die Datei im Browser anzeigen, aber wenn ich auf „Link 2“ klicke, wird die Funktion „AddType“ angewendet und ich muss herunterladen?
Vielen Dank im Voraus und ein toller Snippet!
Es ist keine ideale Lösung für Ihr Problem, aber Sie könnten eine PHP-Wrapper für Download-Links haben, der einfach ein Argument entgegennimmt, das der Dateiname ist, und dann die Datei liest (unter der Annahme lokaler Dateien) und bevor die Datei an den Benutzer ausgegeben wird, senden Sie Header mit dem Dateityp. Siehe http://www.php.net/manual/en/function.header.php für weitere Informationen zu PHP und Headern.
Hallo Michal Kopanski,
Hast du das jemals herausgefunden? Ich möchte auch 2 Links auf meinen Webseiten einfügen. Einen zum Anzeigen der PDF im Browser und einen, um den Download zu erzwingen.
@Andy, ich bin wahrscheinlich etwas spät dran, aber Sie können das HTML5-Attribut „download“ auf den Link anwenden, den Sie zum Download haben möchten. Es ist nicht so narrensicher wie diese .htaccess-Methode, aber es ist einfach.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
Ich würde denken, dass Sie das tun können: Beginnen Sie ohne die Codezeile zur Download-Erzwingung in der .htaccess-Datei in Ihrem Web-Root-Verzeichnis oder seinen übergeordneten Verzeichnissen im Dateisystem oder in der Konfiguration Ihres Apache-Servers. Aktivieren Sie .htaccess-Dateien in der Konfiguration.
Platzieren Sie zwei Ordner im Web-Root, einen namens „in-browser“ und einen namens „download“. Platzieren Sie in beiden eine Index-Datei mit Links zu Dateien auf Ihrer Website.
Legen Sie im Download-Ordner den Code dieses Artikels in die .htaccess-Datei.
Wenn Sie Ihren In-Browser-Link anzeigen möchten, verweisen Sie einfach darauf /in-browser/ und ebenso kann Ihr Download-Link auf /download/ gerichtet werden.
Ihr Download-htaccess wirkt sich nur auf den /download/-Ordner und alle Unterordner unter /download/ aus.
Das ist eine großartige Sache. Ich hatte es vergessen, aber ich bin froh, dass ich es wieder gefunden habe!
Danke
Was ist mit einem Windows-Server? Ich bekomme die .htaccess nicht zum Laufen – ist das nur für Apache-Benutzer?
Korrekt. Alles .htaccess ist nur Apache.
Ihre Lösung ist, IIS zu löschen und Apache zu installieren ;)
Ja, .htaccess ist eine Funktion von Apache-Servern. Windows akzeptiert den Dateinamen .htaccess nicht. Es wird behauptet, es sei eine Erweiterung ohne Dateinamen. Verwenden Sie Anführungszeichen um den Namen in Notepad, um .htaccess zu speichern, oder verwenden Sie Drittanbietersoftware. Es funktioniert in einer Windows-Installation von Apache. Und es ist am besten, den Server und Ihre Website auf derselben Festplatte zu platzieren – dies vermeidet die Notwendigkeit von Laufwerksbuchstaben. Es funktioniert genauso wie unter Linux auf Ihrem Webhost.
Hallo!, das war großartig, ich habe diesen Tutor gerade bei Google gefunden,
danke!, und jetzt ist es möglich, die Header-Funktion nicht zu verwenden.
Ich benutze Apache2Triad und darin gibt es keine Datei mit dem Namen .htaccess, also was mache ich jetzt?
Hör auf, ein Webmaster sein zu wollen, bis du weißt, was du tust
Nun, Ilort, das ist nicht sehr hilfreich. Man wird nicht über Nacht zum Webmaster, es ist ein Lernprozess. Wie würdest du dich fühlen, wenn dein Lehrer sagen würde: „Versuche nicht zu lernen, bis du gelernt hast“?
Gilank, wenn Ihre Website keine .htaccess-Datei hat, erstellen Sie einfach eine in einem Textbearbeitungsprogramm.
Nun, das war nicht zu schwer, oder?
.htaccess ist eine Datei ohne „Name“ vor der „Erweiterung“, wie in Microsoft-Produkten und dem Windows-Betriebssystem zu sehen. Sie ist unter Linux tatsächlich eine versteckte Datei, so bezeichnet durch den führenden Punkt.
Erstellen Sie dazu eine Textdatei in Notepad und füllen Sie sie mit dem Material, das oben auf dieser Seite dargestellt ist. Nennen Sie sie in Anführungszeichen: „.htaccess“
Sie wird im Windows-Betriebssystem korrekt gespeichert, wenn der Name mit seinem führenden Punkt in den Anführungszeichen im Dialogfeld „Speichern unter“ in Notepad steht. Laden Sie diese Datei in das Web-Root-Verzeichnis Ihrer Website neben Ihre index.html (.php, .cgi usw.)-Seite, die geöffnet wird, wenn jemand Ihre Website ohne Angabe über die „example.com.“ aufruft.
Ihr Hoster erlaubt möglicherweise nicht die Verwendung von .htaccess und hat den Server so konfiguriert, dass er nicht danach sucht, selbst wenn es sich um einen Apache-Server unter Linux handelt.
Ich betreibe Apache unter Windows für meine lokalen Tests, und Apache verwendet .htaccess so, als wäre es unter Linux. Speichern Sie Ihre perl.exe auf derselben Festplatte wie der Server, als \usr\bin\perl.exe, und Ihre Perl-Skripte funktionieren so, als würden sie auf den Perl-Interpreter unter /usr/bin/perl zugreifen.
Ich ziehe es vor, die Anfängerfragen der Leute mit etwas anderem zu beantworten als „verschwinde, bis du weißt, was du tust“. Das war unhöflich von der anderen Person, die so geantwortet hat.
Entschuldigung für das unhilfreiche „Hör auf, Webmaster sein zu wollen.“ Erstellen Sie .htaccess in Windows Notepad, indem Sie den Namen im Dialogfeld „Speichern unter“ in Anführungszeichen setzen. Noch besser sind eine Vielzahl von Drittanbieter-Notepad-Ersetzungen.
Ich mag es kurz ;)
AddType application/octet-stream .doc .mov .avi .pdf .xls .mp4
Wo muss ich diesen Code einfügen? In CSS, JS oder PHP? Danke!
Alex: Füge es in die .htaccess-Datei auf deinem Apache-Server ein.
Vielen Dank, die obige Lösung hat bei mir nicht funktioniert.
vielen Dank!!!
Wow, ein toller Trick! Habe ewig versucht, das herauszufinden, danke!
Fantastisch!
Vielen Dank für diesen Trick.
Toller Beitrag /…… :)
Hallo,
Manche Leute benutzen
ForceType application/octet-stream
Header set Content-Disposition attachment
Wissen Sie, was besser ist?
Danke!
Ich habe AddType application/octet-stream .png verwendet und es erzwingt den Download. Das einzige Problem ist, dass es einen neuen leeren Tab öffnet, der sich schließt, nachdem der Download abgeschlossen ist. Aber wenn ich auf Abbrechen klicke, bleibt der neue leere Tab offen. Gibt es eine Möglichkeit, das Popup-Fenster im selben Tab zu erhalten, auf den ich klicke?
Benutze nicht target=“_blank” für deinen Link?
Danke dir sehr, ich habe ungefähr 2 Stunden gebraucht :)
Funktioniert das bei Ihnen in allen Browsern? Ich habe es nur in Chrome, aber nicht in IE und Firefox zum Laufen gebracht.
Ach, das ist standardmäßig in Chrome so, also bin ich mir nicht sicher, was ich falsch gemacht habe, nichts weiter in der .htaccess?
Einfach perfekt :-)
Hallo!
Ich habe diesen Trick getestet und er funktioniert perfekt in Chrome 15, Firefox 7, aber in IE 9 ist er kaputt... zeigt viele ungültige Zeichen.
Als ich weitere Informationen suchte, fand ich diesen Code
Bitte ersetzen Sie ** durch die entsprechende Angabe, aus irgendeinem Grund werden diese Zeichen in den Kommentaren nicht angezeigt.
Testen Sie erneut und siehe da, es funktioniert in Chrome, Firefox und IE. In FF und IE wird ein Dialogfeld „Speichern unter…“ angezeigt, aber in Chrome wird direkt heruntergeladen. Wie kann dieses letzte Problem behoben werden? Erzwingen Sie, dass Chrome das Dialogfeld „Speichern unter…“ anzeigt…
Grüße aus Peru
Pavel
@Pavel
Ich habe es wie von Ihnen beschrieben gemacht, Opera & Firefox haben es gut gemacht, aber mein IE öffnet die PDF immer noch als Seite und nicht als Download. Haben Sie Ratschläge?
Das hat perfekt für mich funktioniert. Danke!
Das hat bei mir auch funktioniert. AddType funktionierte bei Chrome unter Mac nicht (habe nichts anderes als Chrome und Safari getestet).
Danke!
Funktioniert! Für mich, für unsere MP3-Dateien. Vielen Dank!
Pavel Valencias Lösung funktioniert. (Ich habe viele andere Ratschläge ausprobiert)
Vielen Dank für diesen Tipp!
Danke, dieser Tipp funktioniert großartig bei Opera & Firefox, aber nicht bei meinem IE. Ich benutze Win XP SP2 und meine IE-Version ist 5.2.
Ich habe auch Pavel Valencias Tipp ausprobiert, aber er funktioniert immer noch nicht für meinen IE.
Jeder Rat wird wirklich geschätzt.
Hinweis: Ich benutze WordPress.
Danke!!
Pavel Valencias Lösung funktioniert großartig. Danke!
(beachte, dass du ** durch < und > wie HTML-Tags ersetzen musst
< sollte < sein
Weiß jemand, wie man das für Mobiltelefone zum Laufen bringt? Ich habe sowohl Chris' Lösung als auch Pavels ausprobiert, aber MP3s werden auf Mobilgeräten immer noch gestreamt und nicht heruntergeladen. Irgendwelche Ideen?
Kannst du ein Beispiel geben, wie ich eine PDF-Datei zum Download verlinken kann?
Wo soll der obige Code eingefügt werden?
In die .htaccess-Datei auf Ihrem Apache-Server
Per FTP auf Ihre Website zugreifen und eine Datei namens .htaccess in Ihrem Dateiverzeichnis erstellen. In diese Datei schreiben Sie die folgenden Zeilen
Header set Content-Disposition attachment
Dieses spezielle Beispiel erzwingt den Download von Dateien mit den Endungen .doc, .mov, .pdf, .rtf oder .txt anstatt der Anzeige im Browser.
Beste Grüße
Ughh.. sieht so aus, als ob dieser Kommentarbereich den Code nicht rendert.
Schauen Sie einfach unter: http://wiki.dreamhost.com/Htaccess_tricks
Scrollen Sie zum Abschnitt „Force File Download“.
Es hat für Chrome 17 für Mac nicht funktioniert…
Ich bin zurückgekommen, um die Lösung zu posten, die funktioniert hat, aber sie ist fast dieselbe wie die, die Pavel Valencia oben veröffentlicht hat.
Ich bin mir nicht sicher, wie ich beide mischen soll, da diese Probleme mit Groß- und Kleinschreibung verhindert.
Danke!! Funktioniert gut
Vielen Dank!
Für mich hat das auch unter Firefox funktioniert! Da die einfache Zeile AddType application/octet-stream .pdf dies nicht getan hat.
Vielen Dank!
Danke! Das war genau das, wonach ich gesucht habe und sehr hilfreich. Man muss .htaccess-Dateien einfach lieben.
Wenn Sie einen „Internal Server Error“ erhalten, nachdem Sie die HTACCESS-Codes in das .HTACCESS-Dokument eingefügt haben… gibt es etwas falsch? Übrigens ist die Website ein WordPress-System.
Für den internen Serverfehler: Sie müssen das Header-Modul aktivieren ->
cd /etc/apache2/mods-available
a2enmod headers
service apache2 restart
Pavel Valencias Version funktioniert wie ein Zauber! Danke
Ich habe eine .htaccess-Datei erstellt und den Code wie folgt angewendet: „AddType application/octet-stream .txt“, aber die Datei wird immer noch im Browser geöffnet und erlaubt nicht das Herunterladen der Datei.
Hallo, ich weiß nicht warum, aber das funktioniert nicht mit Google Chrome. Ich habe keine Probleme mit anderen Browsern. Geht es nur mir so? Oder hat jemand anderes das gleiche Problem?
Haben Sie Ihren Cache in Chrome gelöscht? Wenn Sie dieselbe Datei mit demselben Namen getestet haben, müssen Sie dies tun, bevor sie funktioniert.
Ok, ich suche schon den ganzen Tag nach einer Antwort darauf. Ich bin mir nicht sicher, ob ich im richtigen Thread bin, aber ich versuche es trotzdem! Ich benutze einen Windows 7 Computer. Ich habe gerade ein digitales Scrapbooking-Papierpaket gekauft. Sie sagt, sie hat mir die 12 einzelnen Dateien in einem komprimierten Ordner geschickt. Als ich es heruntergeladen habe, erschien es jedoch in meinem Download-Ordner als leeres Blatt Papier. Es scheint eine octet-stream-Datei zu sein und kein Programm kann sie öffnen. Ich weiß nicht, was ich damit anfangen soll. Sie schickte mir dann die einzelnen Dateien, entpackt als JPEGs. Als ich sie heruntergeladen habe, konnte ich sie nur in der Windows Media Gallery öffnen. Als ich versuchte, mit der rechten Maustaste zu klicken > kopieren > einfügen in einen bestimmten Ordner, erschien es wieder als leeres Blatt Papier und ich kann es immer noch nicht in irgendetwas öffnen. (Photoshop ist, wo ich es verwenden möchte) JEDE Hilfe wäre SEHR willkommen!
Response.AddHeader("Content-Disposition", "Attachment;filename=somefile.ext");
Das wird Ihnen helfen
das ist so großartig…. vielen Dank!
Hallo – ich weiß, dass dieser Thread schon eine Weile läuft und ich hasse es, ein totes Pferd zu treten, aber wir haben Probleme mit iOS-Geräten.
Hat jemand eine Lösung gefunden, die für Mobile Safari funktioniert? Die htaccess-Anpassung funktioniert gut für Desktop-Browser, aber iOS-Geräte streamen MP3s immer noch.
Any suggestions?
Sie sollten diese Frage besser an StackOverflow weiterleiten und mit den Antworten zurück berichten :)
Wohin würde es heruntergeladen werden? iOS hat kein zugängliches Dateisystem.
Hey Craig,
Hast du eine Antwort darauf gefunden? Ich möchte das Streaming auf iOS-Geräten verhindern. Ich verstehe, dass es kein Dateisystem gibt, also wird es offensichtlich nicht heruntergeladen, aber ich möchte zumindest das Streaming verhindern! Und ich möchte Downloads auf Mobilgeräten zulassen, die herunterladen können, wie Android-Telefone.
Um Streaming auf Geräten zu verhindern, die nicht herunterladen können, können Sie vielleicht Geräte-User-Agent-Strings abfragen und alternativen Inhalt für Geräte bereitstellen, die streamen möchten.
Toller Trick!
Aber ich habe immer noch ein Problem mit Videodateien (.mov, .mp4)
Es scheint, dass es beginnt, die Datei herunterzuladen und sofort QuickTime öffnet.
Aber mit großen Dateien kann QuickTime nicht richtig öffnen.
Gibt es eine Möglichkeit, den gesamten Download zu erzwingen?
danke
Chris,
Das ist das Problem. Es wird nicht heruntergeladen. Aber reine MP3-Links spielen auf einem iOS-Gerät ab. Und da mehrere tausend Leute auf die mehreren 50-MB-Dateien für jedes Produkt zugreifen, ist unser Server stark belastet – unsere Bandbreite bei 1&1 wird voll ausgenutzt. Wir haben überlegt, die Dateien auszulagern, aber die Bandbreitenkosten bei Amazon wären höher als unsere Einnahmen…
Wir brauchen eine Möglichkeit, iOS-Geräte daran zu hindern, reine MP3-Links automatisch abzuspielen. Derzeit haben wir sie in eine ZIP-Datei gepackt, aber das schafft eine neue Reihe von Problemen wie „Wie entpacke ich Dateien?“.
Any suggestions?
Speichern serverseitige Umgebungsvariablen iOS-User-Agent-Strings? Sniffen Sie den offending User-Agent und servieren Sie alternativen Inhalt anstelle der Streaming-Dateien.
Danke. Hat für mich funktioniert. Ich hoffe, zukünftige HTML-Versionen erlauben eine solche Option.
Ich konnte Chromium/Chrome nicht dazu bringen, auf *AddType application/octet-stream .pdf* zu reagieren. Stattdessen verwendete ich htaccess, um den Header *Content-Disposition: attachment* zu senden, wie Chromium Issue 142947 anzeigte. Dies funktionierte jedoch immer noch nicht. Es scheint, dass Chrome Content-Disposition sehr streng interpretiert, wie hier von Foo Compels You beschrieben. Großbuchstaben in meinem Dateinamen führten dazu, dass Chrome die Datei im In-Browser-PDF-Viewer öffnete, aber das Ändern in Kleinbuchstaben führte dazu, dass die Datei wie beabsichtigt heruntergeladen wurde. Interessant, wie die Groß-/Kleinschreibung die Dinge beeinflusst. Hoffe, das hilft.
Ich würde diesen Ansatz nicht verwenden, da er derzeit Chrome-Benutzer am Herunterladen der Datei hindert.
Ein Link zu einem PDF tut nichts, wenn ein Chrome-Benutzer darauf klickt.
Chrome 24 – SCHLECHT – Link funktioniert überhaupt nicht – Benutzer kann nicht auf die Datei zugreifen
Firefox 17 – GUT – funktioniert wie erwartet
IE 9 – OK – Es lädt die Datei herunter und öffnet sie dann mit dem PDF-Viewer
Ich würde den FilesMatch-Ansatz verwenden, den einer der anderen Kommentatoren erwähnt hat – er hindert keinen Ihrer Benutzer daran, die Datei zu erhalten.
<FilesMatch “.(?i:pdf)$”>
ForceType application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
Danke für diesen Tipp..
Ich habe unseren Resident Programmer gebeten, unser PDF zum Download zu erzwingen, und ich habe folgende Antwort erhalten, die ich als Grafikdesigner, nicht als Programmierer, kaum verstehe. Hat er Recht und bitte ich um etwas besonders Komplexes?
„Ich weiß, was nötig ist, um einen Browser zum Download zu zwingen, anstatt zum
Anzeigen. Tatsächlich habe ich einige Seiten, die genau das tun. Es ist ein
serverseitiges Problem, denn Sie müssen speziell die
Antwortkopfzeile mit einer „application-octet“-Stream-Direktive befüllen, zusammen mit
dem Dateinamen. Wenn Sie eine spezielle clientseitige Methode über HTML,
CSS und/oder JavaScript kennen, die alle Browser auf die gleiche Weise verstehen, dann
lassen Sie es mich bitte wissen und ich werde es einbinden. Andernfalls dauert es Stunden, um
den Server dazu zu bringen, es genau richtig zu machen. Stunden, die ich zumindest
ein paar Wochen lang nicht haben werde.“
<a href="link" download>Diese Datei herunterladen</a>Aber im Moment funktioniert es nur in Chrome
Ich verwende seit einiger Zeit eine Reihe von Google Drive-Konten für den Download einer 300-Megabyte-EXE-Datei
da ich keine Ahnung hatte, wie beliebt sie sein würde.
Ich wollte, dass die Benutzer auf der Seite bleiben, also habe ich einfach „target=“_top““ zur URL hinzugefügt.
Mein Download-Link ist eine Grafik, aber das Letztere reicht mir.
Perfekt! Hat einfach funktioniert… danke
Danke für diesen Tipp. Ich wäre nie auf die Idee gekommen, htaccess dafür zu verwenden. Schön, dass Sie so bereit waren zu teilen!
Hallo allerseits,
Ich habe eine .htaccess-Datei im obersten Ordner (world wide web/sitename/.htaccess) meiner Website erstellt und die Codes AddType und FilesMatch hinzugefügt, aber keiner von beiden scheint zu funktionieren.
Ich benutze Joomla! 3.0 für die Intranet-Seite meines Unternehmens und wir haben eine MENGE von PDFs, die zum Download erzwungen werden müssen. Soweit ich weiß, gibt es keine Erweiterung, die das kann.
Irgendwelche anderen Ideen oder mache ich etwas falsch?
Könnte man immer PHP versuchen (falls du noch keine Lösung gefunden hast, hoffentlich hast du das)
http://snipplr.com/view/22546/php-force-file-download-instead-opening-in-new-tabwindow/
Ich musste die .htaccess-Datei in den tatsächlichen Ordner legen, in dem die herunterzuladenden Dateien gespeichert sind. Mit WordPress. Ich habe verwendet
AddType application/octet-stream doc odf pdf rtf txt png jpg
Scheint mit Chrome, Safari, Opera, FireFox zu funktionieren, aber nicht mit IE.
Ich hoffe, das hilft!
Hey Leute, kann mir jemand einen Code hinterlassen?! Ich verstehe wirklich nicht, wie das geht :(
Das kann man jetzt auch mit HTML5 machen.
Quelle (Klick)
Wow! Fantastisch Marko! Ich wusste nicht, dass das über HTML5 möglich ist. Sehr cool! Danke fürs Teilen.
Hallo
Ich habe einen Kunden, der das Gegenteil möchte. Manche Browser öffnen, manche laden herunter.
Kannst du das überschreiben und den Browser zwingen, sich in einem neuen Fenster zu öffnen!?
Oder ist das eine wirklich dumme Frage?
Steve
Dies war ein sehr hilfreicher Thread, und Rudolfs Version funktioniert großartig. Was mir gefällt, ist, dass Firefox, IE und Safari dem Benutzer die Option geben, zu öffnen oder herunterzuladen. Nur Chrome zwingt den Benutzer zum Herunterladen, was einige meiner weniger technikaffinen Endbenutzer verwirren wird, fürchte ich. Gibt es eine Möglichkeit, die Option "Öffnen oder Herunterladen" in Chrome zu "erzwingen"?
Oh Mann! Erstes Ergebnis bei Google und das ist es. Vielen Dank für diesen Beitrag. Hat alle meine Probleme gelöst. Teste aber immer noch, ob das Ergebnis bei allen Hauptbrowsern und auch bei mobilen Browsern dasselbe ist :)
Funktioniert nicht in Chrome Version 30.0.1599.69.
Habe auch Lösungen aus den Kommentaren ausprobiert - irgendwelche Hinweise?
Der beste Weg, das zu tun, ist dieser
PDF herunterladen
–a href=”http://website.com/filename.pdf” download— PDF herunterladen –/a—
Ersetze – durch < öffnendes Tag
Ersetze — durch > schließendes Tag
Gern geschehen ;)
Ich muss eine .sql-Datei in einem Ordner herunterladen. Ich habe einen Button namens "download". Und der Button hat seinen eigenen Wert. Z.B.
(sql-Dateiname Aktion)
(1.sql ——- herunterladen,
2.sql ——– herunterladen)
beim Klicken auf den Download-Button
if(isset($_REQUEST[‘download’])){echo $_REQUEST[‘download’]; // Ergebnis entweder 1.sql oder 2.sql}
1.sql, 2.sql befinden sich im selben Ordner, in dem sich meine download.php-Datei befindet.
Diese Arbeit ist für meine WordPress-Seite. Mein Bedarf ist, 1.sql oder 2.sql auf meinen Computer herunterzuladen, wenn der entsprechende Button geklickt wird.
Z.B.
if(isset($_REQUEST[‘download’])){Datei herunterladen. (z.B. download $_REQUEST[‘download’]).
Dies ist für ein neues Plugin.
Ich habe den Code geschrieben: if(isset($_REQUEST[‘download’]))
{
$pathtoyourfile=plugins_url(‘yu-DB-Backup/’);
$filename=$_REQUEST[‘download’].’.sql’;
header(“Content-Type: application/octet-stream”);
header(“Content-Disposition: attachment; filename=\””.$filename.”\””);
readfile($pathtoyourfile.$filename);
}
dann
Warnung: Kann Kopfzeileninformationen nicht ändern – Kopfzeilen bereits gesendet von (Ausgabe gestartet bei H:\xampp\htdocs\yu\wp-admin\menu-header.php:179) in H:\xampp\htdocs\yu\wp-content\plugins\yu-DB-Backup\inc\inc.wpgc_db_backup.php on line 6
Warnung: Kann Kopfzeileninformationen nicht ändern – Kopfzeilen bereits gesendet von (Ausgabe gestartet bei H:\xampp\htdocs\yu\wp-admin\menu-header.php:179) in H:\xampp\htdocs\yu\wp-content\plugins\yu-DB-Backup\inc\inc.wpgc_db_backup.php on line 7
Warnung: readfile(https:///yu/wp-content/plugins/yu-DB-Backup/2.sql) [function.readfile]: konnte Stream nicht öffnen: HTTP-Anfrage fehlgeschlagen! HTTP/1.1 404 Not Found in H:\xampp\htdocs\gcertificate\wp-content\plugins\WPGC-DB-Backup\inc\inc.wpgc_db_backup.php on line 8.
Bitte helft mir, wenn jemand die Antwort kennt
Gibt es eine Möglichkeit, dies nur für eine bestimmte PDF und nicht für alle PDFs auf dem Server zu tun?
Hallo,
In welchem Verzeichnis soll ich die .htaccess-Datei mit dieser Zeile platzieren: "AddType application/octet-stream .csv"
Wo sich meine CSV-Datei befindet oder wo meine PHP-Skripte sind?
Verwende WordPress.
Vielen Dank,
Moe
Legen Sie Ihre .htaccess in das Verzeichnis, das die CSV-Datei enthält. Hier ist die .htaccess nur in diesem Verzeichnis und allen Unterverzeichnissen wirksam, nicht in "Geschwister"- oder "Eltern"-Zweigen Ihres Verzeichnisbaums.
Sie können die .htaccess-Datei im Elternverzeichnis platzieren, und sie wird hier genauso gut funktionieren, wirkt sich aber auch auf alle Unterverzeichnisse unter dem Elternverzeichnis aus.
Ich weiß nichts über WordPress, da die meiste meiner Website-Entwicklungsarbeit in HTML oder PHP erfolgte, aber dies wäre meine erste Vermutung für die Platzierung.
Wenn Sie möchten, dass alle Dateien in einem Verzeichnis heruntergeladen werden, erstellen Sie eine .htaccess-Datei in diesem Verzeichnis und fügen Sie dies ein
Fügen Sie dies nicht in Ihre .htaccess-Datei im Stammverzeichnis ein. Es wird dazu führen, dass alle Dateien auf Ihrem Server heruntergeladen werden.
Ich hoffe, das hilft Ihnen!
$mime_types=array(
“pdf” => “application/pdf”,
“txt” => “text/plain”,
“html” => “text/html”,
“htm” => “text/html”,
“exe” => “application/octet-stream”,
“zip” => “application/zip”,
“doc” => “application/msword”,
“xls” => “application/vnd.ms-excel”,
“ppt” => “application/vnd.ms-powerpoint”,
“gif” => “image/gif”,
“png” => “image/png”,
“jpeg”=> “image/jpg”,
“jpg” => “image/jpg”,
“php” => “text/plain”,
“csv” => “text/csv”,
“xlsx” => “application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”,
“pptx” => “application/vnd.openxmlformats-officedocument.presentationml.presentation”,
“docx” => “application/vnd.openxmlformats-officedocument.wordprocessingml.document”
);
„
Quelle: http://w3webtools.com/simple-page-download-file-using-php-and-jquery/
Sie können auch ein Add-on für Firefox oder einen Dienst wie http://savedirectlink.com verwenden, um direkte Links herunterzuladen, aber nicht zu öffnen.
Firefox, Chrome, Opera, Android Browser und Chrome für Android unterstützen das Attribut
downloadbei Links, wie von einigen anderen Kommentatoren erwähnt.Siehe den Eintrag auf caniuse.com für
download.Danke!
Caleb G – danke – das hat für mich funktioniert.
Kann mir bitte jemand sagen, wie ich mein FTP so einrichte, dass Dateien im Browser geöffnet und NICHT heruntergeladen werden?
Ich scheine das entgegengesetzte Problem zu haben, das alle anderen haben. Ich möchte, dass meine Dateien im Browser angezeigt und nicht heruntergeladen werden. Alles, was ich versucht habe, um das zu erreichen, ist gescheitert.
Jemand hat vorgeschlagen, eine .mtaccess-Datei in meinem /var/www/html-Verzeichnis einzurichten, aber die einzigen Beispiele, die er gegeben hat, sind, Downloads zu erzwingen.
Vielen Dank.
Bob, hat bei dir jemals etwas funktioniert? Ich habe genau das gleiche Problem und dachte, das sei ein Tippfehler von mir, bis ich deinen Namen gesehen habe
Eine üble Lösung, dies veranlasst den Server, den falschen MIME-Typ an den Browser zu senden, wodurch dieser gezwungen wird, die Daten als unbekanntes Format zu behandeln. Besser ist es, Ihre Benutzer aufzuklären und zu erklären, dass ein Browser jede Datei speichern kann.
Schöne Lösung, ich habe einige richtige Dateinamen-Abgleiche hinzugefügt,
Anti-MIME-Type-Sniffing und HTML5-Lösungen (können kombiniert werden)
Referenz
http://icompile.eladkarako.com/properly-set-content-disposition/
http://stackoverflow.com/a/34758866/257319
Ich benutze dies, um .log-Dateien zum Download zu zwingen. Das Problem ist, wenn die Log-Dateien rotiert werden. Beispiel: .log0001, .log0002 oder .log12345
Gibt es ein Wildcard, das ich verwenden könnte, um Dateierweiterungen, die mit .log beginnen, herunterzuladen?
Sie können ein serverseitiges Perl-Skript verwenden. Es ist eine Weile her, seit ich mit Perl zu tun hatte, aber es wird diese Aufgabe erledigen. PHP hat möglicherweise auch die Möglichkeit, dasselbe zu tun. Möglicherweise können Sie auch JavaScript auf der Client-Seite verwenden.
Ich möchte darauf hinweisen, dass alle vorgeschlagenen Lösungen nicht funktionieren, wenn der Benutzer versucht, die Datei mit einem Android-Betriebssystem der Version 1.0 – 4.3 und dem Chrome- oder Standard-Android-Browser herunterzuladen.
Siehe diesen fast 5 Jahre alten Fehlerbericht
https://code.google.com/p/android/issues/detail?id=19951
Entweder ignorieren Sie dieses Problem (sollte mit KitKat behoben sein), oder Sie informieren Ihre Benutzer, dass sie durch langes Drücken der Download-Schaltfläche zum Herunterladen zwingen oder darauf hinweisen, dass es andere Browser für Android gibt, die mit dieser Aufgabe keine Probleme haben.
Aber verschwenden Sie keine Zeit damit, dieses Problem zu beheben. Es gibt keine Lösung – sowohl Chrome Mobile als auch der Standard-Android-Browser verwenden den integrierten Android-Download-Manager, um Dateien herunterzuladen – und als Webentwickler können Sie diesen Download-Manager nicht dazu bringen, seine Arbeit richtig zu machen.
Bitte, ich brauche Hilfe, ich habe mehrere Methoden ausprobiert, aber alles ist vergebens.
Hier ist mein Code;
Dies ist so ziemlich das Top-Ergebnis, wenn Sie danach suchen. Daher sollte ich erwähnen, dass Sie, wenn Sie Java Servlets verwenden, die Methode response.setType aufrufen können.
Dies ist sehr nützlich, wenn Sie zum Beispiel eine .csv-Datei generieren, wie ich es getan habe.
Wenn Sie also Servlets in irgendeiner Form verwenden und dies tun müssen, ist dies eine Möglichkeit, es zu tun.
Kann mir das jemand sagen?
Wie kann ich eine PHP-Datei mit .htaccess-Code herunterladen?
Das ist falsch. Lassen Sie den Punkt vor den Dateierweiterungen weg, dann würde es funktionieren
Wenn ich einen Link von jemandem in meinen Beitrag setze, leitet er die Besucher auf seine Homepage um, wie kann ich das beheben, bitte?
Gibt es ähnliche Lösungen für web.config?
Hallo. Ich versuche, eine Datei von einer URL herunterzuladen, wenn ein Button gedrückt wird, und ich mag Ihre Methode, aber ich hoste auf Github Pages, es gibt kein .htaccess. Gibt es eine Möglichkeit, das mit reinem JavaScript und/oder HTML zu tun? Ich habe das
<a>Attribut ausprobiert, aber das funktioniert nur, wenn die Datei von mir gehostet wird. Kann mir bitte jemand helfen?Hallo! Bitte, ich möchte wissen, ob es eine Möglichkeit gibt, Dateien, die ich auf Google Drive hochgeladen habe, zum Download zu zwingen. Ich habe es versucht, aber es öffnet die MP3-Datei im Browser und bietet dann Optionen, von denen viele einschließlich Download enthalten, aber ich möchte wissen, ob es eine Möglichkeit gibt, diesen Download direkt beim Verwenden von href zu erzwingen. Wenn ich den Link direkt in den Browser einfüge, wird er heruntergeladen, aber wenn ich einen Hyperlink wie href hinzufüge, öffnet er sich stattdessen im Browser.
Gibt es eine Möglichkeit, das auf WordPress normal zum Laufen zu bringen?
Hat jemand etwas dagegen, wenn ich diesen altbewährten Thread um eine Wendung erweitere?
Ich habe viel recherchiert, aber ich tue mich schwer, über den Tellerrand hinauszudenken. Ich suche nach einem klügeren Verstand als meinem.
Ich möchte den Download von ALLEM erzwingen. Nicht nur ein paar Dateierweiterungen. Es gibt einen einfachen Code, der in .htaccess dafür funktioniert...
Das funktioniert großartig. So großartig, dass, wenn Sie die Seite (in meinem Fall das Verzeichnis-Index) laden/aktualisieren/neu laden, sofort ein Download-Dialog mit
download.htmlgeöffnet wird. Ich kann nicht einmal eine Verzeichnisliste erhalten, da die Seite jetzt heruntergeladen werden soll.Das ist also nicht die Antwort. Was ich gerne finden würde, ist vielleicht ein Ausdruck, den ich verwenden könnte, der alles
^erlaubt, außer HTML- oder PHP-Dateien!(\.(html|php)$.Außerdem, wie sieht das Format aus, wenn die Datei überhaupt keine Erweiterung hat?
Ich schaue zu den Nerds unter mir. ;)