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