找回密码
 注册
首页 ≡≡网络技术≡≡ PHP语言 Veno-File-Manager (VFM4)云盘,解决中文目录无法上传文 ...

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

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

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


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

在此段代码前添如如下一段代码:
  1. $getloc = str_replace(' ','+',$getloc);
复制代码

添加后整体代码如下:
  1. $getloc = str_replace(' ','+',$getloc);
  2. $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解码乱码的解决办法
您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。