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 模版文件
|
|