灰儿 发表于 2022-9-4 11:34:11

Veno-File-Manager (VFM4)云盘,解决中文目录无法上传文件bug

Veno-File-Manager (VFM4)云盘,解决登录用户,如果用户私有文件夹(含子目录)含有中文字符,上传文件提示“无法上传”的bug。

原因分析:
有时候用base64_encode加密后,如果含有中文字符,以GET的形式传到其他页面,其中的“+”号会被替换成空格,再用base64_decode解密的时候,会出现乱码。
注:vfm3版本功能正常,没有此bug


解决方法:
打开 根目录/vfm-admin/ajax/chunk.php文件,查找如下一行代码:
$getloc = $getloc ? ltrim(base64_decode($getloc), './') : false;
在此段代码前添如如下一段代码:
$getloc = str_replace(' ','+',$getloc);

添加后整体代码如下:
$getloc = str_replace(' ','+',$getloc);
$getloc = $getloc ? ltrim(base64_decode($getloc), './') : false;
相关文件:
根目录/vfm-admin/ajax/chunk.php
根目录/vfm-admin/class/class.uploader.php
根目录/vfm-admin/template/uploadarea.php   模版文件

灰儿 发表于 2022-9-11 21:51:02

http://www.admin365.cn/thread-46429-1-1.html
PHP用base64_encode编码后再用base64_decode解码乱码的解决办法
页: [1]
查看完整版本: Veno-File-Manager (VFM4)云盘,解决中文目录无法上传文件bug