CI 묻고 답하기

제목 어떻게 하면 파일명을 db에 넣을수 있을까요?
글쓴이 cmyoung80 작성시각 2012/09/14 17:27:33
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 15643   RSS
fileupload샘플파일을 보면서 DB에 넣는 파일명을 넣는 프로그래밍을 짜고 있습니다.

계속해서 file_name부분을 blog3란 테이블의 userfile필드에 넣으려는 시도를 해보지만 안되고 있습니다.어떤 문제점이 있는건지요?

참고로 blog3란 table 컬럼은 title,body,userfile 이렇게 이루워져 있습니다. 

form view 부분입니다.(upload_form.php)
<html>
<head>
<title>Upload Form</title>
</head>
<body>

<?php echo $error;?>

<?php echo form_open_multipart('/upload/do_upload');?>
<input type="text" name="title" />
<br/>
<textarea name="body"></textarea>
<br>
<input type="file" name="userfile" size="20" />

<br /><br />

<input type="submit" value="upload" />

</form>

</body>
</html>

그리고 upload controller부분입니다.(upload.php)

<?php

class Upload extends CI_Controller {

function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
}

function index()
{
$data['query']=$this->db->get('blog3');
$this->load->view('upload_form', array('error' => ' ' ));
}

function do_upload()
{
$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())
{
$error = array('error' => $this->upload->display_errors());

$this->load->view('upload_form', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
$postdata = array(
'title' => $_POST['title'],
'body' => $_POST['body'],
'filename' => $data[file_name]
);
$this->db->insert('blog3',$postdata);
$this->load->view('upload_success', $data);
}
}
}
?>
 
회원님들의 답변 부탁드립니다.
 다음글 라이브러리 / 헬퍼 (3)
 이전글 CI에는 ibatis/mybatis 처럼 sqlmapp... (2)

댓글

도라에몽 / 2012/09/16 15:20:08 / 추천 0
 테이블에는   title,body,userfile 인데... 
실제 인서트에서는 
$postdata = array(
'title' => $_POST['title'],
'body' => $_POST['body'],
'filename' => $data[file_name]
); 으로 넣으셨네요. 
filename -> userfile  로 바꿔주시면 들어갈겁니다. ^^;;