2008-11-13 4 views
7

양식을 통해 내 사이트에 이미지를 업로드하려고하는데 데이터베이스 효율성이 훨씬 뛰어납니다. 이미지의 위치를 ​​데이터베이스에 저장하십시오.CodeIgniter - 양식을 통해 이미지를 업로드하여 데이터베이스에 이미지 위치를 저장하십시오.

나는 내 양식에 문제가있어 정말 어디로 모른다 :

<?=form_open('bro/submit_new');?> 
//other form data 
Image: <input type="file" name="image" size="20" /> <br> 
<input type="submit" value="Submit" /> 
</form> 

지금 양식 자체가 잘 작동

, 문제는 데이터베이스 필드에 이미지를 저장하려고한다는 것입니다 '이미지'(TEXT 유형). 파일을 저장하고 파일 위치를 '이미지'필드에 저장하도록 지시하는 가장 쉬운 방법은 무엇입니까? (컨트롤러를 통해 파일을 업로드 할 위치를 알려줍니다).

감사

편집 : (이 부분에 대한) 컨트롤러 코드 :

function submit_new(){ 
    $config['upload_path'] = './images/'; 
    $config['allowed_types'] = 'gif|jpg|png'; 
    $config['max_size'] = '2000'; 
    $config['max_width'] = '1024'; 
    $config['max_height'] = '768';  
    $this->load->library('upload', $config); 

    $this->db->insert('post', $_POST); 

    redirect('bro'); 
} 

답변

8

CodeIgniter의의 파일 업로드 클래스는 당신을 위해 이것을 할 것입니다. entry in their user guide은 내가 할 수있을뿐만 아니라 설명합니다. 그래서 저는 여러분에게 알려 드릴 것입니다.

기본적으로 데이터베이스에 파일 URL을 넣는 비트를 포함하도록 컨트롤러를 수정하면됩니다.이 컨트롤러는 $ this-> upload-> data() 및 결과 배열에서 [full_path]를 추출한 다음 데이터베이스 입력을 처리하는 모델로 보냅니다.

+0

에 데이터를 업로드 할 모델 페이지를 사용 form_open하지? 내가 잘못 했니? – scrot

+0

그러나 나는 왜 그것이 두 위치에 그것을로드 것이라고 생각하지 않았을 것 같아요. – scrot

+2

그리고 지금 나는 바보처럼 느껴집니다. – scrot

9

사용 form_open_multipart()()

-1

내가 그것을 데이터베이스에 직접 파일을로드하는 인상이었다 데이터베이스

관련 문제