Dragon
主机之家测评主机之家测评  2019-08-24 01:27 主机之家测评 隐藏边栏 |   抢沙发  5 
文章评分 0 次,平均分 0.0

PHP 使用 TCPDF 生成 PDF 文件时,如果文件名是中文会被直接过滤掉,以下是 TCPDF 不能保存中文文件名的解决方法:

打开 tcpdf.php 文件,找到 output 函数,大约在 7554 行。

1、注释以下代码,大约在 7565-7568 行:

  if ($dest[0] != 'F') {      $name = preg_replace('/[s]+/', '_', $name);      $name = preg_replace('/[^a-zA-Z0-9_.-]/', '', $name);  }

2、搜索该方法代码,替换如下代码,大约分别在 7639、7670、7693、7718 行。

  header('Content-Disposition: attachment; filename="'.basename($name).'"'); 

替换为

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

上述代码分别在该方法的 case 'I':(打印 PDF)、case 'D':(下载 PDF)、case 'FD':(保存到本地文件)语句中。

这样 PHP 使用 TCPDF 生成 PDF 文件时就可以保存为中文名称了。

 

相关推荐:

ThinkPHP5 使用 TCPDF 生成 PDF 文件

TCPDF 中文乱码的解决方法

 

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

发表评论

扫一扫二维码分享