1
public function sample($username = false) {
    $this->load->helper('download');
    $filename = base_url() . "resources/Sample-Letter.doc";

    $contents = file_get_contents($filename); // Read the file's contents

    if ($username) {
        $contents = str_replace('string_to_find', $username, $contents);
        // replace the string
    }
    $name = 'Sample-Letter.doc';

    force_download($name, $contents);
}

在此之后,文件将被下载,其中包含损坏的数据和一些特殊字符,如 �� 等等,就像在 file_get_contents 之后回显 $contents 一样。如果没有将用户名传递给 sample(),则下载适用于实际内容。

4

2 回答 2

0

尝试

$contents = str_replace('$[客户端名称]', $username, $contents);

于 2013-08-23T06:12:46.387 回答
0

你可以试试这个,因为它对我有用

$contents = str_replace('[Client name]', $username, $contents);    
$contents = preg_replace('/[^A-Za-z0-9\-]/', '', $contents);//it will remove all special characters from a string

然后试试这个

'/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s' instead of '/[^A-Za-z0-9\-]/'
于 2013-08-23T06:28:01.000 回答