Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    perchè devi mettere:

    disposition:attachment

    header("Content-Disposition:inline; filename=" . $filename);
    header("Content-Disposition:attachment; filename=" . $filename);

    inline te lo apre....
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  2. #2
    impossibile.. deve chiederti di salvarlo.. a meno che non hai qualche impostazione stupida sul browser...
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    potresti incollare tutto il codice usato?

  4. #4
    lol, non ci va mica HTML nel file RTF ... devi inviare SOLO ed ESCLUSIVAMENTE quello!

    detto questo prova a cambiare
    header("Content-Type:application/rtf");

    in
    header("Content-Type:application/octet-stream");

    comunque, quando fai le prove, svuota la cache
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #5
    no, assolutamente, non vanno tag html perché tu al browser stai inviando un documento ben preciso

    altrimenti non funziona più nulla poi!

    questa parte la puoi incenerire

    codice:
        $fr = fopen("certificato_".$paz.".rtf", 'w') ;
        fwrite($fr, $new_rtf);
        fclose($fr);
    il file rtf lo hai già in una variabile

    detto questo più o meno sembra corretto

    ho dato una risistemata al codice ... e a me funziona perfettamente
    codice:
    <?php
    
    function modifier($vars, $rftfile)
    {
        $xchange = array
        (
            '' => "\\",
            '{'  => "{",
            '}'  => "}"
        );
    
        if(($document = file_get_contents($rftfile)) == false)
        {
            return false;
        }
    
        foreach($vars as $key => $value)
        {
            foreach($xchange as $orig => $replace)
            {
                $value = str_replace($orig, $replace, $value);
            }
    
            $document = str_replace($key, $value, $document);
        }
    
        return $document;
    }
    
    // FAKE ROW
    $nome = ' --- '; $cognome = ' --- ';
    $row = array
    (
        'sport'             => 'sport',
        'data_rilascio'     => 'data_rilascio',
        'data_scadenza'     => 'data_scadenza'
    );
    
    $paz ='codicefiscale';
    $vars = array
    (
        '%%SPORT%%'             => $row['sport'],
        '%%NOME%%'              => "{$nome} {$cognome}",
        '%%TIPO_ATTIVITA%%'     => 'agonistica',
        '%%DATA_RILASCIO%%'     => $row['data_rilascio'],
        '%%DATA_SCADENZA%%'     => $row['data_scadenza']
    );
    
    $rtfContent = modifier($vars, 'mod_certificato.rtf');
    
    header('Content-Type:application/octet-stream');
    header('Content-Length: ' . strlen($rtfContent));
    header("Content-Disposition:attachment; filename=\"certificato_{$paz}.rtf\"");
    
    echo $rtfContent;
    
    ?>
    gli ho dato una sistemata a livello di organizzazione visiva e ho rimosso un poco di codice inutile
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  6. #6
    Originariamente inviato da ciromosketta
    aameeen ora funziona...

    grazie mille per il restyling in effetti sono una zappa del php, ad esempio non sapevo che si potessero affiancare due variabili come nome e cognome..perchè le hai racchiuse tra due parentesi grafe?
    la forma racchiusa tra parentesi graffe è obbligatoria per proprietà di oggetti e metodi (php5), array, funzioni (php5) e cosi via ... la uso sempre per separare il normale testo dalle variabili, almeno per me migliora la leggibilità

    volendo si poteva usare anche sprintf

    www.php.net/sprintf
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.