新闻中心

Drupal7上传图片和文件包含中文乱码问题

作者 / 时间 2014-12-05 10:47:33

国内很多站长还是依旧习惯用中文命名文件,其实中文在程序里是非常麻烦的一个东西,很多中文都是会经过各种编码,一出错就乱码了。特别是linux的主机对中文的文件不怎么支持,无忧主机php独立ip空间就是这样的哦,需要注意。Drupal 7上传图片或者文件,如果文件名包含汉字,会出现上传后乱码,无法显示等问题,不过无忧小编(www51php.com)找到一个方法解决,就是学其他的程序,通过上传后重命名来解决这个问题。一般都是以时间命名。 打开\includes\file.inc 文件,找到1474行:

$file->filename = file_munge_filename($file->filename, $extensions);
将其注释掉。在其后添加如下两行:
$the_extension = pathinfo($_FILES['files']['name'][$source],PATHINFO_EXTENSION);
$file->filename = date("Ymd") . '_' . date("His") . '_' . rand(100,999) . '.' . $the_extension;
改过之后,我们上传"中文.jpg"图片文件,将会以 "20141126_105605_128.jpg"的日期形式保存在服务器。 后记:如果你觉得直接改动drupal核心代码有点难度,可以试试 transliteration 这个模块 ,安装好后,上传文件时汉字文件名会自动转换为拼音。 无忧主机相关文章推荐阅读: DRUPAL技术文档翻译:如何完美写好.INFO文件(一) DRUPAL技术文档翻译:如何完美写好.INFO文件(二) DRUPAL技术文档翻译:按照路径来定制站点的LOGO和名称 DRUPAL技术文档翻译:客户端不支持服务器端要求的认证协议

本文地址:https://www.51php.com/drupal/17790.html

1
1
1
1
1
1
1