Pues para subir un archivo con codeigniter yo he usado algo así
Código HTML:
<form action="htttp:/miurl/controller/sube_archivo" method="POST">
<input type='file' name='my_archivo'>
<input type='submit' value='Subir'>
</form>
Código PHP:
public function sube_archivo(){
if ($_FILES['my_archivo']['name']){
$this->load->library('upload');
$config['upload_path'] = 'mis_imagenes/';
$config['allowed_types'] = 'jpg';
$config['max_size'] = '2048';
$config['overwrite'] = TRUE;
$config['file_name'] = 'nueva_imagen';
$this->upload->initialize($config);
if (!$this->upload->do_upload('my_archivo'))
echo 'Problemas al adjuntar el archivo cer';
}
}