Hallo,
wie kann man eine bestimmte Datei des Servers dem User zusenden, so dass der Dialog bei Ihm sich öffnet, "Datei speicher unter ..." ?
Kann jemand eine Hilfe geben?
Gruss
voli
hallo,
hier steht die lösung:
<?
// $realfilename enthlt den echten namen und pfad der datei
// der dem gefakten $file zugeordnet ist (datenbank, array, wie auch immer)
$fd = @fopen( $realfilename, "r" ) or die ( "Kann die angeforderte Datei nicht öffnen" );
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/zip"); // hier sollte der typ eingetragen werden
header("Content-Length: ".filesize( $realfilename )); // dateigrösse der schönheit halber auch senden
header("Pragma: no-cache");
header("Expires: 0");
// übertragen
fpassthru( $fd );
fclose( $fd );
exit();
?>
das ganze muss über tragen werden bevor irgendein html-output passiert dadurch öffnet sich dem user ein requester in dem er den namen in $file sieht, in wirklichkeit wird aber $realfilename übertragen. ich hab keine möglichkeit gefunden den echten dateinamen rauszufinden, da er nicht mitübertragen wird. wenn sich die datei dann in einem geschützten verzeichnis liegt, sodass auch ein http://myurl/myfile.zip versagen wird, sollte nicht viel passieren können.
lg,
Michael