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 文件时就可以保存为中文名称了。
相关推荐:
本文为原创文章,版权归主机之家测评所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 【疯狂猜成语/图猜成语】一个骷髅和一个毛茸茸的怪物在发抖是什么成语?09/02
- ♥ JS 判断变量是否为 undefined07/06
- ♥ a 标签提交表单的方法08/25
- ♥ 【疯狂猜成语/图猜成语】一个人在举重旁边一个人在搬东西周围是问号是什么成语?08/21
- ♥ ECShop 安装过程报错:Strict Standards: Non-static method cls_image::gd_version() should not be called statically in XXX08/31
- ♥ Could not open input file: artisan 解决办法07/06