Mailinglisten-Archive |
Steffen Kother wrote: > Hallo Leute > > wie ich zu meinem download komme, ist mir klar. Beim ersten Aufruf > funktioniert das auch noch einwandfrei. Aber wenn dann das File direkt > angeboten werden soll ist essig... :o( > > Hier mal die wichtigen Code-Teile: > > <?php > if (!empty($_GET['rekl']) || !empty($_POST['rekl'])) { > if (!empty($_POST['rekl'])) $rekl = $_POST['rekl']; > else $rekl = $_GET['rekl']; > > $rkl_id = explode('|', $rekl); > $rkl_id = $rkl_id[count($rkl_id)-1]; > > $Daten = daten_anschreiben($db_Verbindung, $rkl_id); > // wird korrekt befüllt, alle Infos enthalten und da beim 'Nach'- > // Downloaden Daten aus DB kommen ist $Daten['check'] = true > > if (empty($Daten['check'])) { > // ... > } else $_POST['mode'] = 'Drucken'; > > if (empty($_POST['mode'])) { > // ... > } elseif (!empty($_POST['mode'])) { > if (empty($Daten['check'])) write_anschreiben_db($db_Verbindung, > $rkl_id, $Daten_tmp, $_POST['mode']); > if ($_POST['mode'] == 'Drucken') { > // $_POST['mode'] kommt mit 'Drucken' an > $Template = > file_get_contents('templates/Anschreiben.Text.DE.htm.tpl.htm'); > $Template = > html_entity_decode(str_replace(array_keys($Daten), array_values($Daten), > $Template)); > header('Content-Type: application/msword'); > header('Content-Length: '.strlen($Template)); > header('Content-Disposition: inline; > filename='.str_replace('|', '', > $Daten['##REKLAMATION##']).'_Anschreiben.doc'); > header('Content-Transfer-Encoding: binary'); > echo $Template; > exit(); > } elseif ($_POST['mode'] == 'Mail') { > mail_anschreiben($db_Verbindung, $rkl_id, $Daten_tmp); > $Daten['##COMMAND##'] = 'setTimeout(\'window.close()\', 5000)'; > } > } > } else echo 'Nothing done!'; > ?> > > Eine Ausgabe am Bildschirm bringt mir das Gewollte. Aber beim Downloaden > schießt er (IE) quer und bringt mir auch nicht den gewünschten > Dateinamen, sondern "Anschreiben.php?rekl=xx". > > Da ich wenig bis gar nicht mit Downloads arbeite, wende ich mich an > euch, in der Hoffnung geholfen zu bekommen. > > Vielen Dank schon mal probiers doch mal mit: Anschreiben.php?rekl=xx&file=/Anschreiben.doc entweder direkt im Link beim Aufruf, oder REDIRECT auf dein 'Anschreiben.php?rekl=xx&file=/' . str_replace('|', '', $Daten['##REKLAMATION##']).'_Anschreiben.doc' und dann dort erst die Datei senden -- Sebastian Mendel www.sebastianmendel.de www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive