Veno-File-Manager (VFM4)让用户私有文件夹(dir)显示中文编码
在二次开发Veno-File-Manager (VFM4)云盘系统时,发现根目录/vfm-admin/_content/users/users.php用户信息文件,其中的的用户文件夹数组中,键值中的中文字符为“\uXXXX”格式表示的字符串,如:
- array (
- 'name' => 'user',
- 'pass' => '$1$osKFVhQd$onDS9JSlGSWAKqR.Hnu5F.',
- 'role' => 'user',
- 'dir' => '["user","temp","\\u516c\\u5171\\u8d44\\u6e90"]',
- ),
复制代码
其中XXXX是16进制数字的字符串表示形式,这个叫Unicode 转义字符, 如何将其解码还原成相应的中文字符呢?
网上百度了很多方法都无法解决,后来发现实际上只需要调用PHP的 json_decode函数来解码就可以了。
解码:
$dirs = json_decode($dir)
编码:
Unicode 转义字符编码函数为:
$dirs = joson_encode($dir)
相关文件:
根目录/vfm-admin/admin-panel/view/users/modal-user.php
根目录/vfm-admin/admin-panel/view/users/new-user.php
管理后台中,“新建用户文件夹”提交界面代码:
- <div class="col-md-6 mb-3">
- <label class="form-label"><?php echo $setUp->getString("make_directory"); ?></label>
- <div class="input-group">
- <div class="input-group-text">
- <i class="bi bi-folder"></i>
- </div>
- <input type="text" class="form-control getfolder assignnew" name="userfolder" placeholder="<?php echo $setUp->getString("add_new"); ?>">
- </div>
- </div>
- <!-- col-md-6 -->
复制代码
|
|