代码之家  ›  专栏  ›  技术社区  ›  stormdrain

在codeigniter中扩展库时出错

  •  2
  • stormdrain  · 技术社区  · 16 年前

    我试图在codeigniter中扩展上传库。我整个上午都在尝试,跟踪各种tuts和论坛帖子,但都没能成功。

    如果我将想要的函数直接添加到upload.php库中,它就可以工作了——但我知道这不是正确的方法,而且我希望这样做是正确的,因为我正在这样做。

    下面是扩展名[system/application/libraries/my_upload.php]的内容:

    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
    
    class MY_Upload extends Upload{
    function MY_Upload(){
        parent::Upload();
    }
      function mupload($configs,$files){
        if(count($configs) != count($files)){
           return 'array_count_wrong';
        }
    $retArr=array();
        for($i=0, $j = count($files);$i<$j;$i++){
            $this->initialize($configs[$i]);
            if(!$this->do_upload($files[$i])){
                array_push($retArr,$this->display_errors());
            }else{
                array_push($retArr,'OK');
            }
        }
        return($retArr);
    }
    

    ?gt;

    以及相关控制器代码:

    $this->load->library('upload');
    $messages=$this->upload->mupload($config,$files);
    

    它失败了,却没有说明原因。

    我做错什么了?

    谢谢。

    2 回复  |  直到 16 年前
        1
  •  2
  •   stormdrain    16 年前

    错过了一个可怕的 } 在分机的末端

    :

    我真的真的很希望有一种方法可以在失败时获得更多的信息错误消息(或者任何消息)。

        2
  •  2
  •   Phil Sturgeon    16 年前

    这里有一些额外的建议。

    1. 你应该从ciu扩展上传而不是上传
    2. 如果您实际上在控制器中执行某些操作,则只需要添加parent::ci_upload;的构造函数。删除函数my_upload(),因为您不需要它。-)

    很高兴你解决了你的主要问题!

    推荐文章