Надеюсь, что HTML-код в вашей форме будет выглядеть так:
<form method="post" action="">
<div class="form_label">
<label for="form_field_name">Select : </label>
<input type="file" name="form_field_name" />
</div>
<div class="message"><?php echo (isset($message['error'])) ? '<div class="error">' . $message['error'] . '</div>' : (isset($message['success']) ? '<div class="success">' . $message['success'] . '</div>' : ''); ?>
</form>
Перейдем к контроллеру кодов:
<?php
class My_upload extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function upload_me()
{
$data['message'] = array();
if(isset($_POST['submit'])) {
$this->load->model('my_upload_model', 'umodel');
$data['message'] = $this->umodel->upload_me();
}
$this->load->view('file_upload');
}
}
?>
Нет проверки файла на контроллере, давайте сделаем это в модели:
<?php
class My_upload_model extends CI_Model
{
function __construct()
{
parent::__construct();
}
function upload_me()
{
// file upload configuration start //
$config['file_upload_path'] = FCPATH . 'my_file_directory' . DIRECTORY_SEPARATOR . 'sub_directory' . DIRECTORY_SEPARATOR;
$config['allowed_extensions'] = 'gif|jpg|jpeg|png|bmp';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('form_field_name')) {
return array('error' => $this->upload->display_errors());
} else {
return array('success' => 'File is uploaded successfully.');
}
// end file uploading //
}
}
?>
Вы можете добавить больше конфигурации в соответствии с вашими требованиями. Подробнее здесь http://codeigniter.com/user_guide/libraries/file_uploading.html
Надеюсь, это поможет вам, дайте нам знать, если что-нибудь есть. пожалуйста, вставьте код ...
Спасибо