2013-11-08 4 views
0

Как вызвать помощника в библиотеке в Codeigniter?Загрузить и вызвать помощника в библиотеке

Мой код:

class Upload 
{ 
    protected $ci; 

    function __construct() 
    { 
     $this->ci =& get_instance();  

     // Load helper 
     $this->ci->load->helper('form'); 
    } 


    function upload_file($file, $file_types = 'gif|jpg|png', $max_size = 1000, $max_width = 200, $max_height = 300) 
    { 
     // Set params 
     $config['upload_path'] = 'attached-files'; 
     $config['allowed_types'] = $file_types; 
     $config['max_size'] = $max_size; 

     // Check if max_width is set equals to it is a image 
     if(isset($max_width)) 
     { 
      $config['max_width'] = $max_width; 
      $config['max_height'] = $max_height; 
     } 

     // Try to upload the file 
     if (!$this->ci->upload->do_upload($file)) 
     { 
      $data['profile_image_upload'] = array('error' => $this->ci->upload->display_errors()); 
     } 
     else 
     { 
      $data['upload_data'] = $this->ci->upload->data(); 
     } 

     return $data; 
    } 

Im пытаются построить универсальную библиотеку, которую я называю, когда я хочу, чтобы загрузить файлы, independet если это PDF, изображения или другой файл.

Но я получаю сообщение об ошибке на следующий код:

if (!$this->ci->upload->do_upload($file)) 

Сообщение об ошибке: Вызов неопределенной метод загрузки :: do_upload()

ответ

0

Если вы загрузили помощника, вы должны быть в состоянии для вызова функций в этом помощнике так же, как это:

do_upload($file); 

Так измените строку:

if (!$this->ci->upload->do_upload($file)) 

Для этого:

if (!do_upload($file)) 
+0

Когда я делаю это я получаю сообщение об ошибке: 'Вызов неопределенной функции do_upload()'. Я загружаю его неправильно в конструктор? – JohnSmith

+0

Является ли функция do_upload в вашем form_helper? –

+0

@JohnSmith Что произойдет, если вы переместите '$ this-> ci-> load-> helper ('form'),' вниз к функции 'upload_file'? И ваши вспомогательные функции? Помощники должны быть функциями, а не классами. –

Смежные вопросы