perchè devi mettere:
disposition:attachment
header("Content-Disposition:inline; filename=" . $filename);
header("Content-Disposition:attachment; filename=" . $filename);
inline te lo apre....
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
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
potresti incollare tutto il codice usato?
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
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
il file rtf lo hai già in una variabilecodice:$fr = fopen("certificato_".$paz.".rtf", 'w') ; fwrite($fr, $new_rtf); fclose($fr);
detto questo più o meno sembra corretto
ho dato una risistemata al codice ... e a me funziona perfettamente
gli ho dato una sistemata a livello di organizzazione visiva e ho rimosso un poco di codice inutilecodice:<?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; ?>
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
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à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?
volendo si poteva usare anche sprintf
www.php.net/sprintf
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand