首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >elfinder设置动态上传路径

elfinder设置动态上传路径
EN

Stack Overflow用户
提问于 2017-10-17 16:23:42
回答 1查看 987关注 0票数 0

我正在使用codeigniter,我想使elfinder上传路径是动态的每个id。我的文件夹层次结构如下:

我的elfinder选择:

代码语言:javascript
复制
$idce = $_GET['id_c'];

  $client_code = $this->db->select('client_code')
                        ->get_where('tb_clients', array('id_c' => $idce))
                        ->row()
                        ->client_code;
  $tval = $this->db->select('tanggal_valuasi')
                        ->get_where('tb_clients', array('id_c' => $idce))
                        ->row()
                        ->tanggal_valuasi;

  $opts = array(


    // 'debug' => true,

    'roots' => array(
      array(
        'driver' => 'LocalFileSystem',
        'path' => './upload/'.$client_code.'./proposal/',
        'startPath'  =>'./storage/'.$client_code.'./proposal/',
        'URL' => site_url('storage').'/'.$client_code.'/'.'proposal/',
        'attributes' => array(
          array( // hide readmes
            'pattern' => '/.quarantine'.'/',

            // 'read' => false,
            // 'write' => false,

            'hidden' => true,

            // 'locked' => false

          ) ,
          array( // restrict access to png files
            'pattern' => '/.tmb'.'/',

            // 'read' => false,
            // 'write' => false,

            'hidden' => true,

            // 'locked' => false

          ) 
        ) ,
        'uploadDeny' => array(
          'text/php',
          'text/x-php',
          'application/php',
          'application/x-php',
          'application/x-httpd-php',
          'application/x-httpd-php-source',
          'text/html',
          'text/css',
          'text/js',
          'application/js',
          'application/x-javascript',
          'application/javascript',
          'application/ecmascript',
          'text/javascript',
          'text/ecmascript',
          'application/octet-stream'
        ) ,
        'disabled' => array(
          'rename'
        ) ,
      )
    )
  );
  $this->load->library('elfinder_lib', $opts);
}

这是我的javascript调用elfinder:

代码语言:javascript
复制
<script src="<?php echo base_url('asset/elfinder/js/elfinder.full.js');?>">
</script>

 <!-- elFinder initialization (REQUIRED) -->
  <script type="text/javascript" charset="utf-8">
     $().ready(function() {
        var elf = $('#elfinder').elfinder({
            customData : {'id_c': document.getElementById('id_c').value},
            defaultView : 'list',
            url : '<?= base_url(); ?>admin/proposal_contract/elfinder_init',  
    `enter code here`// connector URL (REQUIRED)
            uiOptions: {
                toolbar : [
                    // toolbar configuration
                    ['back', 'forward'],
                    ['reload'],
                    ['home', 'up'],
                    ['upload'],
                    ['open'],
                    ['info'],
                    ['copy', 'cut', 'paste'],

                ]
            }
        }).elfinder('instance');
     });
  </script>

结果是elfinder显示了我想要的正确文件夹,它在'(client_code)/proposal‘文件夹下,但是当我尝试上传文件时,上传的文件没有出现在'proposal’文件夹中。而是出现在根文件夹'mysite/proposal‘中。因此,似乎elfinder无法将我的动态变量读取为path

EN

回答 1

Stack Overflow用户

发布于 2017-10-18 12:42:32

好了,我终于可以把这事搞清楚了..原来我只需要添加'requestType : POST',这样elfinder就可以识别自定义数据了。

代码语言:javascript
复制
<!-- elFinder initialization (REQUIRED) -->
 <script type="text/javascript" charset="utf-8">
 $().ready(function() {
    var elf = $('#elfinder').elfinder({
        customData : {'id_c': document.getElementById('id_c').value},
        defaultView : 'list',
        requestType : post,
        url : '<?= base_url(); ?>admin/proposal_contract/elfinder_init',  
`enter code here`// connector URL (REQUIRED)
        uiOptions: {
            toolbar : [
                // toolbar configuration
                ['back', 'forward'],
                ['reload'],
                ['home', 'up'],
                ['upload'],
                ['open'],
                ['info'],
                ['copy', 'cut', 'paste'],

            ]
        }
    }).elfinder('instance');
 });

AJAX请求类型。可用的选项是post和get。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46785665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档