Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [php] "Speichern unter"-Dialog? (https://www.delphipraxis.net/69066-%5Bphp%5D-speichern-unter-dialog.html)

Grolle 9. Mai 2006 20:15

Re: [php] "Speichern unter"-Dialog?
 
Hi,

der code oben ist alles, was in der *.php-datei steht!

Viele Grüße,

// Edit: Aufrufen tue ich die Datei über einen einfachen Link

DGL-luke 9. Mai 2006 20:17

Re: [php] "Speichern unter"-Dialog?
 
öhm.. ok.. dann stimmts so, wie es noch_ein_hannes geschrieben hat.

Du musst dem Browser schließlcih die Daten auch liefern, wenn du da nur auf deinem server rumschreibst, passiert gar nix ;)

mkinzler 9. Mai 2006 20:20

Re: [php] "Speichern unter"-Dialog?
 
Den Umweg über die datei kannst du dir sparen, wenn du das Ergebnis der Abfrage direkt ausgibst:


Code:
<?php

include "connect.inc.php";
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";
}
?>

noch_ein_hannes 9. Mai 2006 20:28

Re: [php] "Speichern unter"-Dialog?
 
hmm, mkinzler ... das kommt mir sehr bekannt vor ... :-)

mkinzler 9. Mai 2006 20:43

Re: [php] "Speichern unter"-Dialog?
 
Sorry, deinen Beitrag habe ich genauso wie Grolle überlesen.

Grolle 9. Mai 2006 21:11

Re: [php] "Speichern unter"-Dialog?
 
Besten Dank. Das klappt so ganz gut :mrgreen:

nat 9. Mai 2006 22:30

Re: [php] "Speichern unter"-Dialog?
 
Zitat:

Zitat von faux
Code:
header("Content-type: text/csv");

wenn man sich 100% sicher seien will, dass der speichern unter dialog kommt sollte man
Code:
Content-type: application/octet-stream
verwenden.
der browser entscheidet anhand des mime-types, was er mit den empfangenden
daten macht. was, wenn er nun eine spezielle darstellung für csv-dateien hat
(ähnlich wie xml-files)? dann kommt der dialog nicht. o.g. bedeutet ein
unbekanntes/binäres format für das es keine anzeigeform geben kann.
daher sollte immer der speichern unter dialog kommem.

noch_ein_hannes 9. Mai 2006 22:45

Re: [php] "Speichern unter"-Dialog?
 
So wäre es komplett:
Delphi-Quellcode:
header("Content-Disposition: attachment; filename=".$save_as_name."");
header("Content-type: x-application/octet-stream");
header("Content-Transfer-Encoding: binary");
Und, wenn die Ausgabe einer Datei per "readfile()" geschieht, dann könnte auch noch folgender Header gesendet werden:
Delphi-Quellcode:
header("Content-length:".filesize($filename)."");

faux 10. Mai 2006 10:04

Re: [php] "Speichern unter"-Dialog?
 
Zitat:

Zitat von noch_ein_hannes
Und, wenn die Ausgabe einer Datei per "readfile()" geschieht, dann könnte auch noch folgender Header gesendet werden:
Delphi-Quellcode:
header("Content-length:".filesize($filename)."");

Das kann man ohne weiteres auch machen, wenn man das ganze ohne readfile() löst: Einfach alles was man ausgeben würde in eine Variable speichern (statt echo "$line . "\r\n"; einfach $out .= "$line . "\r\n"; schreiben) und dann per strlen() die Länge bestimmen.

Grüße
Faux

Grolle 10. Mai 2006 10:15

Re: [php] "Speichern unter"-Dialog?
 
Ja, besten Dank nochmal an euch. Klappt hervorragend!
PHP scheint ja hier sehr populär zu sein :)
Viele Grüße...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz