| 제목 | 메뉴얼 파일 업로드에 관해서, | ||
|---|---|---|---|
| 글쓴이 | 룰루쭈쭈 | 작성시각 | 2015/09/25 13:43:54 |
|
|
|||
안녕하세요. 이제 CI 입문한 초보입니다.
controllers
<?php
/**
* Upload Class
*
* Created on 2011. 11. 15.
* @author 불의회상 <hoksi2k@hanmail.net>
* @package library
* @subpackage controllers
* @version 1.0
*/
class Upload_lib extends CI_Controller {
function __construct() {
parent::__construct();
// Form, Url Helper Load
$this->load->helper('form');
// Uload Config 설정
$config = array(
'upload_path' => FCPATH . './upload/',
'allowed_types' => 'gif|jpg|png',
'max_size' => '100'
);
$this->load->library('upload', $config);
}
function index() {
$this->_view();
}
function do_upload() {
if (!$this->upload->do_upload()) {
$data = array('error' => $this->upload->display_errors(), 'upload_data' => '');
} else {
$data = array('upload_data' => $this->upload->data(), 'error' => '');
unlink($data['upload_data']['full_path']); // 실제 업로드 로직 구현 할때는 이 라인을 삭제 하세요.
}
$this->_view($data);
}
function custom_upload() {
// Upload Config 재설정
$my_config = array(
'upload_path' => FCPATH . './upload/',
'allowed_types' => 'gif|jpg|png',
'max_size' => '100',
'max_width' => '1024',
'max_height' => '768',
'encrypt_name' => TRUE
);
// Upload init
$this->upload->initialize($my_config);
// Do Upload
$this->do_upload();
}
function _view($data = '') {
$data = $data == '' ? array('error' => '', 'upload_data' => '') : $data;
$this->load->view('upload_lib_sample', $data);
}
}
view
<?php $this->load->view('inc/header')?>
<hr />
Upload Test
<hr />
<?php echo form_open_multipart('upload_lib/do_upload');?>
<table class="tablesorter" border="0" cellpadding="0" cellspacing="1">
<thead>
<tr>
<th style="text-align:center" width="20%">구분</th>
<th style="text-align:center"></th>
</tr>
</thead>
<tr>
<td style="text-align:center">이미지</td>
<td><input type="file" name="userfile" size="20" />(gif|jpg|png)</td>
</tr>
<tr>
<td colspan="2" style="text-align:center"><input type="submit" value="이미지 upload" /></td>
</tr>
</table>
</form>
<hr />
Upload Class 설정 변경 Test
<hr />
<?php echo form_open_multipart('upload_lib/custom_upload');?>
<table class="tablesorter" border="0" cellpadding="0" cellspacing="1">
<thead>
<tr>
<th style="text-align:center" width="20%">구분</th>
<th style="text-align:center"></th>
</tr>
</thead>
<tr>
<td style="text-align:center">이미지</td>
<td><input type="file" name="userfile" size="20" />(gif|jpg|png)</td>
</tr>
<tr>
<td colspan="2" style="text-align:center"><input type="submit" value="이미지 upload" /></td>
</tr>
</table>
</form>
<?php if($upload_data != '' || $error):?>
<hr/>
업로드 결과
<hr/>
<table class="tablesorter" border="0" cellpadding="0" cellspacing="1">
<thead>
<tr>
<th style="text-align:center" width="20%">구분</th>
<th style="text-align:center">Data</th>
</tr>
</thead>
<?php if($upload_data != ''):?>
<?php foreach($upload_data as $item => $value):?>
<tr>
<td><?php echo $item;?></td>
<td><?php echo $value;?></td>
</tr>
<?php endforeach; ?>
<?php else:?>
<tr>
<td style="color: red">Error</td>
<td style="color: red"><?php echo $error;?></td>
</tr>
<?php endif;?>
</table>
<?php endif;?>
<?php $this->load->view('inc/footer')?>
CI 실행예제중의 파일 업로드인데요. 메뉴얼에 있는 내용은 잘 실행이 되었는데, 저건 어떻게 구현되는지 이해가 되질 않습니다.
<?php $this->load->view('inc/header')?> 이 구문도 어디에 있는지 이해가 되질않고요, 저 예제는 어떻게 해야합니까? ( 파일명도 메뉴얼엔 다 지정되있어서 알기 쉬웠는데 저건 파일명도 잘 모르겠네요.) 답변 부탁드립니다.
|
|||
| 다음글 | 알림에 대한 개념 (4) | ||
| 이전글 | view 에서 php 함수를 안 쓰려 하는데요. 어찌 ... (2) | ||
|
한대승(불의회상)
/
2015/09/25 13:52:12 /
추천
0
|
|
룰루쭈쭈
/
2015/09/25 13:55:10 /
추천
0
ㄴ 아 감사합니다, 그럼 혹시 저거는 파일명을 어떻게 만들어야하나요?
그리고 죄송한데 css 등 찾고있는데 어디에 있는지 잘모르겠습니다. |
|
한대승(불의회상)
/
2015/09/30 09:10:43 /
추천
0
views 폴더 아래에 inc 폴더를 만들고 header.php, footer.php 파일을 만드시면 됩니다.
덧붙이자면 샘플 실행시에는 view 소스코드 내의 $this->load->view('inc/header'), ('inc/footer') 부분은 삭제 하셔도 됩니다. |
샘플 프로그램에 공통적으로 사용되는 css, js 파일을 가져오는 부분입니다.