본문 바로가기

Programming/php

codeingiter 라이브러리 호출 여부 체크

예전에 만든 라이브러리중에 image upload 라이브러리가 있다.


거기서 아래와 같이 이미지 라이브러리를 호출하였다.


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


근대 문제는 앞서서 업로드가 처리되고, 뒤에 라이브러리가 호출되어 업로드가 처리되는경우


라이브러리가 두번 호출되어서 에러가 나거나, 기존 라이브러리가 호출되어 있기 때문에 upload 라이브러리에 


config 값을 initialize를 이용해서 교체해주어야 하는데 그게 안되어 있어서 문제가 발생한다.


그러던중 function_exists가 생각나서 해당 함수를 쓰려고보니..


함수는 인자값의 함수가 이미 선언되어 있는지 확인하는 함수이다.


내가 하던건 라이브러리의 호출이기 때문에 클래스의 선언 여부를 체크해야 되는 건대,



위 라이브러리 호출은 아래와 같이 바꿀수 있다.

if(!class_exists('upload')){
$this->load->library('upload', $config_upload);
}else{
$this->upload->initialize($config_upload);
}

다른건 upload가 호출되어 있지 않을 경우에만 호출하고


호출되어 있다면 initialize 를 이용하여 설정값만 교체하도록 처리 가능하다!



끝!