2012-10-25 1 views
0

codeigniter + grocerycrud를 사용하고 있습니다. 이미지 업로드를위한 콜백이 있습니다.GroceryCRUD - 콜백에서 변수를 설정하는 방법은 무엇입니까? (파일을 업로드하고 크기를 3 번 ​​변경하고 3을 DB에 저장하려면 어떻게해야합니까?)

나는 형태로 하나 개의 이미지를 업로드하지만,이 작업을 수행 할 수 :

각 하나를 특정 크기

다음

저장 데이터베이스의 각 하나의 크기를 조정 3 회

를 복사합니다.

어떻게하면 좋을까요? 콜백은 내가 제출 한 데이터의 가변성을 변경하지 않고 조작 된 데이터를 저장할 수 있도록 이미지를 편집 할 수있게 해줍니다.

자신의 콜백 튜토리얼을보고는 보이는 대부분의 통화 뒤이 같은처럼 :

function callback_for_this_field($posted_data) { 

$posted_data = $posted_data .= "append me"; 

return $posted_data; 
} 

(즉, 수정 된 데이터를 반환) 업로드 콜백 그냥 true를 돌려

하지만를

답변

3

당신을 callback_before_insertcallback_before_update으로 간단하게 처리 할 수 ​​있습니다. 파일이 식료품 점 CRUD에 업로드되면 파일 이름과 같은 값을 가진 숨겨진 필드가 삽입됩니다.

$crud->callback_before_insert(array($this,'_append_uploaded_file')); 
$crud->callback_before_update(array($this,'_append_uploaded_file')); 

및 컨트롤러 뭔가처럼 추가하려면에서 : : 물론 당신이

public function _append_uploaded_file($post_array) 
{ 
    if (!empty($post_array['image_url'])) { 
     $post_array['image_url'] = "append-me-".$post_array['image_url']; 
    } 

    //You can add or insert to other tables too 

    return $post_array; 
} 

할 수있는 당신은 단순히 같은 것을 할 수

$crud->set_field_upload('image_url','assets/uploads/images'); 

: 그래서 예를 들어의 당신이 있다고 가정 해 봅시다 callback_after_insertcallback_after_update과 동일한 문제가 발생하지 않습니다.

+0

감사합니다. – slycat