über die browser-Eingabeaufforderung, um eine Datei herunterzuladen
Ich habe ein php/mysql-Website, in der ich versuche, laden Sie eine durch Komma getrennte Datei (CSV). Die csv-Datei, die ich erstellen enthält eine Komma-getrennte Daten (name, Adresse, Stadt, Staat). Ich erstelle die csv-Datei ok und platzieren Sie es in der site /downloads-Verzeichnis. So weit So gut. Ich habe auf der Suche auf der Linie, und der code zum auslösen der browser die download-Aufforderung, die ich sehe, die am häufigsten ist:
$path = $_SERVER['DOCUMENT_ROOT'];
$exportfile = "emailclientaddresses.csv";
$fullpath = "downloads/" . $exportfile;
header("Content-type: text/plain");
header("Content-Length: ".filesize($exportfile));
header("Content-Disposition: attachment; filename=" . $fullpath);
$Exportfile ist die csv-Datei, die mein code erstellt. Es ist ok. Was dies bedeutet ist:
- $Fullpath im browser angezeigt wird, laden Sie die Eingabeaufforderung in einem sehr seltsamen format: download_emailclientaddresses.csv -
- Wenn es nicht herunterladen, die aktuelle Webseite heruntergeladen wird, oder eine Kombination der csv-Datei und der aktuellen web-Seite.
OK, ich habe alles mögliche versucht und nichts hat geklappt. Also, wenn jemand kann mir helfen, ich würde es zu schätzen wissen. Danke.
ed Cohen
InformationsquelleAutor Ed Cohen | 2012-07-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den In der PHP-Dokumentation bietet ein schönes Beispiel:
BEARBEITEN (Antwort zu Kommentar, Erläuterung)
Nicht angezeigt im browser, aber die übertragung der Datei.
Datei ist eine binäre Datei.
Browser in der Regel binäre Dateien herunterladen, es sei denn, Sie können sich anzeigen lassen.
Machen der download-dialog zeigen, den richtigen Dateinamen ein.
Hinweis: Sie können eine beliebige Datei name.
Datei sollte nicht vom browser zwischengespeichert werden.
Cache-Schwierigkeiten verursachen kann, im Falle von dynamischen Inhalten.
Senden Sie die richtige Größe der Datei an den browser
ansonsten ist der browser nicht in der Lage zu schätzen, die transfer-Zeit.
Stellen Sie sicher, dass der Header an den browser gesendet wird, bevor der download beginnt.
Senden Sie die Datei an den browser.
Fertig 🙂
Updates beantworten 🙂
Danke Anne, wieder einmal. Dies hilft wirklich. Es auch Figuren, die Antwort war "in dem Buch." So zu sprechen. Hmm, vielleicht sollte ich Lesen Sie es einmal in eine Weile?
Bitte akzeptieren Sie die Antwort (das grüne Häkchen). Lassen Sie mich wissen, wenn Sie haben Schwierigkeiten zu finden.
href="https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work" title="wie funktioniert die Annahme einer Antwort arbeiten">meta.stackexchange.com/questions/5234/...
InformationsquelleAutor Anne