Как сохранить файл RTF с помощью PHP? - PullRequest
2 голосов
/ 22 июня 2011
$rtf=<<<RTF
    {\rtf1
    \b [TITLE] \b0\par
    \b [MESSAGE] \b0\par
    }
RTF;

$rtf = str_replace('[TITLE]',$valueTitle,$rtf);
$rtf = str_replace('[MESSAGE]',$valueMessage,$rtf);

После того, как я закончил редактирование файла rtf в php, как описано выше, как мне сохранить его с новым именем файла в определенном месте для скачивания людьми?

Ответы [ 2 ]

5 голосов
/ 22 июня 2011

Вы можете сохранить его с помощью file_put_contents() и просто предложить ссылку для загрузки с соответствующими заголовками.

// $rtf holds your complete file data
file_put_contents('/path/to/outfile.rtf', $rtf);

Затем вы можете либо просто дать им прямую загрузку, либо предоставить ее с правомтакие заголовки полезны, если вам нужна дополнительная обработка или защита доступа или что-то в этом роде ...

header("Content-type: application/rtf");
echo file_get_contents("/path/to/outfile.rtf");
exit();
1 голос
/ 22 июня 2011

нашел мой старый файл, где я уже сделал это, так что это точный рабочий код, который я сейчас использую.

$rtf= file_get_contents('result.rtf');

$rtf = str_replace('[nickname]', $nickname, $rtf);
$rtf = str_replace('[secretWord]', $secretWord, $rtf);
$rtf = str_replace('[hoursInADay]', $hoursInADay, $rtf);
$rtf = str_replace('[hobby]', $hobby, $rtf);
$rtf = str_replace('[hobbyYears]', $hobbyYears, $rtf);
$rtf = str_replace('[hobbyAlphabet]', $hobbyAlphabet, $rtf);
$rtf = str_replace('[jokeFact]', $jokeFact, $rtf);

header('Content-type: application/msword');
header('Content-Disposition: attachment; filename=survey_result.rtf');
echo $rtf;
die();
...