elFinder 如何支持中文文件夹和中文文件

廖苑 发布于 2012/12/14 21:14
阅读 6K+
收藏 1

@红薯 你好,想跟你请教个问题:

web文件在线管理,elFinder,如何安装呢,默认打开就可以使用,但是不支持中文文件和中文文件夹,中文文件无法上传,无法新建中文文件夹,我尝试修改index.html,里面的改成中文zh.js,但是依然显示英文。下载的源码里有PHP文件夹,看到里面有SQL文件,不知道是不是要安装数据库,才能正常使用的呢?

以下是问题补充:

@Sherry1026:请问elfinder有没有涉及到权限管理的功能?MySQLStorage.sql文件怎么使用? (2013/05/19 16:11)
加载中
0
j
jzs6124

引入相应语言js文件后修改主页面的js代码,比如是中文则如下:

  <script type="text/javascript" charset="utf-8">
   $().ready(function() {
    var elf = $('#elfinder').elfinder({
     url : 'php/connector.php',  // connector URL (REQUIRED)
     lang: 'zh_CN'             // language (OPTIONAL)
    }).elfinder('instance');
   });
  </script>

 

0
ywh1981
ywh1981

$opts['roots']['acceptedName']=''; 这一项是用于检查文件和目录名称的正则,默认值在elFinderVolumeDriver.class.php 中的$options属性里面:'acceptedName'    => '/^\w[\w\s\.\%\-\(\)\[\]]*$/u',

把它设置为'',对新建或者上传的文件目录名就不检查了。

$connector = new elFinderConnector(new elFinder($opts));

$connector->run();

poineer
poineer
我按照这样做了,但是还是不行,能具体说一下怎么解决吗
0
Sherry1026
Sherry1026

引用来自“ywh1981”的答案

$opts['roots']['acceptedName']=''; 这一项是用于检查文件和目录名称的正则,默认值在elFinderVolumeDriver.class.php 中的$options属性里面:'acceptedName'    => '/^\w[\w\s\.\%\-\(\)\[\]]*$/u',

把它设置为'',对新建或者上传的文件目录名就不检查了。

$connector = new elFinderConnector(new elFinder($opts));

$connector->run();

@ywh1981 你好,想跟你请教个问题:我按照你的方法改了'acceptedName',还是不能支持中文,我是在Yii框架下用的。
0
Sherry1026
Sherry1026

elfinder使用数据库

1.安装MySQL数据库之后,执行MySQLStorage.sql文件中的内容,新建elfinder_file表

2.修改connector.php文件

'driver'        => 'LocalFileSystem'

改为:'driver'        => 'MySQL'

3.修改elFinderVolumeMySQL.class.php中的数据库配置,改成自己的数据库名称、密码、数据库名

0
Sherry1026
Sherry1026

elFinder支持中文:

1.<script type="text/javascript" src="/js/i18n/elfinder.ru.js"></script>,将其中的'ru'改为'zh_CN'

2.<script type="text/javascript" charset="utf-8">
$().ready(function() {
    var elf = $('#elfinder').elfinder({
        url : 'php/connector.php',  // connector URL (REQUIRED)
        lang: 'zh_CN'             // language (OPTIONAL)
    }).elfinder('instance');
});
</script>

OK,elFinder可以支持中文了。

tiank
tiank
正解~~~感谢!
0
含青-

引用来自“jzs6124”的答案

引入相应语言js文件后修改主页面的js代码,比如是中文则如下:

  <script type="text/javascript" charset="utf-8">
   $().ready(function() {
    var elf = $('#elfinder').elfinder({
     url : 'php/connector.php',  // connector URL (REQUIRED)
     lang: 'zh_CN'             // language (OPTIONAL)
    }).elfinder('instance');
   });
  </script>

 

没有用
0
冷三叔
冷三叔

引用来自“Sherry1026”的答案

elFinder支持中文:

1.<script type="text/javascript" src="/js/i18n/elfinder.ru.js"></script>,将其中的'ru'改为'zh_CN'

2.<script type="text/javascript" charset="utf-8">
$().ready(function() {
    var elf = $('#elfinder').elfinder({
        url : 'php/connector.php',  // connector URL (REQUIRED)
        lang: 'zh_CN'             // language (OPTIONAL)
    }).elfinder('instance');
});
</script>

OK,elFinder可以支持中文了。

按照操作修改成功
0
冷三叔
冷三叔

引用来自“冷海圣”的答案

引用来自“Sherry1026”的答案

elFinder支持中文:

1.<script type="text/javascript" src="/js/i18n/elfinder.ru.js"></script>,将其中的'ru'改为'zh_CN'

2.<script type="text/javascript" charset="utf-8">
$().ready(function() {
    var elf = $('#elfinder').elfinder({
        url : 'php/connector.php',  // connector URL (REQUIRED)
        lang: 'zh_CN'             // language (OPTIONAL)
    }).elfinder('instance');
});
</script>

OK,elFinder可以支持中文了。

按照操作修改成功
我指的是中文的菜单,不是中文的文件和文件夹
0
许菲

windows系统中使用本地文件模式,看不到中文文件夹是因为php这个encode_json方法只支持utf8,elfinder用这个转的时候把name都转成null了。可以在elFinderVolumeLocalFileSystem.class.php这个文件的_basename方法强行转一下就可以看到了...

/**
* Return file name
*
* @param  string  $path  file path
* @return string
* @author Dmitry (dio) Levashov
**/
protected function _basename($path) {
//return basename($path);
return iconv('gb2312','utf-8',basename($path));
}
虽然不是好办法,勉强用着。php不懂,看的我蛋疼。

0
李厚光
李厚光

引用来自“许菲”的答案

windows系统中使用本地文件模式,看不到中文文件夹是因为php这个encode_json方法只支持utf8,elfinder用这个转的时候把name都转成null了。可以在elFinderVolumeLocalFileSystem.class.php这个文件的_basename方法强行转一下就可以看到了...

/**
* Return file name
*
* @param  string  $path  file path
* @return string
* @author Dmitry (dio) Levashov
**/
protected function _basename($path) {
//return basename($path);
return iconv('gb2312','utf-8',basename($path));
}
虽然不是好办法,勉强用着。php不懂,看的我蛋疼。

这样改了还是不能建中文目录
返回顶部
顶部