2017-09-05 11 views
1

イメージアップロードのヘルパーを作成しようとしています。カスタムヘルパー内でライブラリを拡張することはできますか?私はそれを使用しようとしていた、それは決して動作しません。codeigniterのカスタムヘルパー拡張ライブラリを使用することができます

<?php 
/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 

function FileUploadd($r) 
{ 

    $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = '100'; 
     $config['max_width'] = '1024'; 
     $config['max_height'] = '768'; 

     $this->load->library('upload', $config); 

     if (! $this->upload->do_upload($r)) 
     { 
      echo $this->upload->display_errors(); 

     } 
     else 
     { 
        $Dder=$this->upload->data(); 
        return $Dder['file_name']; 
       } 

} 
+0

あなたはそれをどのように延長するのですか?どのようなエラーが発生しますか?ありがとう – chad

+0

関数FileUploadd($ name_file) { $ config ['upload_path'] = './uploads/'; \t \t $ config ['allowed_types'] = 'gif | jpg | png'; \t \t $ config ['max_size'] \t = '100'; \t \t $ config ['max_width'] = '1024'; \t \t $ config ['max_height'] = '768'; $ ci =&get_instance(); \t \t $ ci-> load-> library( 'upload'、$ config); \t \t($ CI-> upload-> do_upload($ name_file))場合 \t \t { \t \t \tが($ CI-> upload->はdisplay_errorsエコー)。 \t \t} \t \t他 \t \t { $ Dder = $ CI-> upload->データ()。 return $ Dder ['file_name']; } //コントローラ内 – NewPhpProgramer101

答えて

2

私はあなたのヘルパー内でライブラリを呼び出し、それを拡張しないことを確認します。 $thisはコントローラとモデルでのみ動作するため、get_instance()を最初に呼び出す必要があります。あなたが最初

取得CodeIgniterのインスタンスを呼び出す必要がヘルパーやライブラリを使用したい場合はあなたのコードは次のようになります。

class Your_helper_name{ 

    private $CI; 

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

    function FileUploadd($r) { 
     $config['upload_path'] = './uploads/'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = '100'; 
     $config['max_width'] = '1024'; 
     $config['max_height'] = '768'; 

     $this->CI->load->library('upload', $config); 

     if (! $this->CI->upload->do_upload($r)) 
     { 
      echo $this->CI->upload->display_errors(); 

     } 
     else 
     { 
      $Dder=$this->CI->upload->data(); 
      return $Dder['file_name']; 
     } 
    } 
} 

は、あなたが明確化が必要な場合は、私に教えてください。これがあなたの質問に答えるなら、これを答えにしてください。ありがとう!

関連する問題