![]() |
[php] "Speichern unter"-Dialog?
Hallo,
wie realisiere ich mit php einen "Speichern unter"-Dialog? Ich möchte eine Datenbank in eine *.csv-Datei exportieren. Den Export mache ich wie folgt:
Delphi-Quellcode:
Viele Grüße,
<?php
include "connect.inc.php"; $fp = fopen('file.csv', 'w'); $sql = "SELECT name, vorname, strasse FROM adressbuch"; $res = mysql_query($sql) or die("Fehler: " . mysql_error() . " $sql"); while($row = mysql_fetch_row($res)){ $line = implode(';', $row); fwrite($fp, $line . "\r\n"); } fclose($fp); ?> |
Re: [php] "Speichern unter"-Dialog?
Hallo!
Biete sie einfach zum Download an. Beispiel:
Code:
Grüße
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=".$filename); Faux |
Re: [php] "Speichern unter"-Dialog?
Code:
[Edit: War zu langsam]
header( 'Content-Disposition: attachment; filename='.$fname);
|
Re: [php] "Speichern unter"-Dialog?
Hi,
muss ich das nach dem fclose($fp) setzen? Bin PHP-Neuling :roll: Viele Grüße.. |
Re: [php] "Speichern unter"-Dialog?
Nein vor deinen Code.
|
Re: [php] "Speichern unter"-Dialog?
Hi,
das klappt zwar, aber jetzt wird nix mehr in die Datei geschrieben ?!? |
Re: [php] "Speichern unter"-Dialog?
Eigentlich müsste es danach geschrieben werden, weil die Datei innerhalb deines Skriptes erstellt wird, also nachdem der Download gestartet hat, dann kannst du wenig runterladen :zwinker:
Ich glaube (ich arbeite nicht mit header() direkt), dass er beim Aufruf von
Code:
sofort den Download startet.
header( 'Content-Disposition: attachment; filename='.$fname);
Flare |
Re: [php] "Speichern unter"-Dialog?
Poste mal deinen Code.
Zitat:
Grüße Faux |
Re: [php] "Speichern unter"-Dialog?
Du brauchst gar keine Datei zu schreiben, denn mit dem Header lenkst Du die Ausgabe ja um:
Delphi-Quellcode:
wenn Du schon eine Datei hast, kannst Du sie (nach dem Header) einfach mit readfile() ausgeben ...
header( 'Content-Disposition: attachment; filename='.$fname);
$sql = "SELECT name, vorname, strasse FROM adressbuch"; $res = mysql_query($sql) or die("Fehler: " . mysql_error() . " $sql"); while($row = mysql_fetch_row($res)){ $line = implode(';', $row); echo $line . "\r\n"; } |
Re: [php] "Speichern unter"-Dialog?
nene! Erst der header, dann die Infos.
Also: - Daten bereithalten/erzeugen/öffnen - Header schicken - Daten schicken für weitere Analyse bräuchten wir ein bisschen Code, Grolle. //roter kasten... ja... EDIT: nein, ein Header leitet gar nix um. Wenn er nicht der Location-Header ist. Der Content-Disposition-Header sagt nur, welcher Datentyp (genauer MIME-typ) zu erwarten ist, damit der User Agent entsprechend reagieren kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz