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(),则下载可以与实际内容一起使用。
答案 0 :(得分:0)
尝试
$ contents = str_replace('$ [Client name]',$ username,$ contents);
答案 1 :(得分: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\-]/'