phpbar.de logo

Mailinglisten-Archive

[php] File als download ausgeben

[php] File als download ausgeben

Steffen Kother steffen.kother at gmx.net
Don Jun 23 09:00:36 CEST 2005


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
-- 
Mit freundlichen Grüßen / Kind regards

Steffen Kother 


php::bar PHP Wiki   -   Listenarchive