//En index.ctp: <?php echo $this->Html->link(__('Upload'), array('action' => 'upload', $autor['Autor']['id'])); ?> //En el controlador public function upload($id = null) { if (!$this->Autor->exists($id)) { throw new NotFoundException(__('Invalid autor')); } if ($this->request->is(array('post', 'put'))) { $archivo = $this->request->data['Autor']['archivo']; move_uploaded_file($archivo['tmp_name'], WWW_ROOT . 'autores/' . $id . "/" . $archivo['name']); $this->Flash->success(__('Archivo subido.')); return $this->redirect(array('action' => 'index')); } else { $options = array('conditions' => array('Autor.' . $this->Autor->primaryKey => $id)); $this->set('autor', $this->Autor->find('first', $options)); } } //La vista (entera) <h2>Subiendo archivos para el autor <?=h($autor['Autor']['name'])?></h2> <div class="autors form"> <?php echo $this->Form->create('Autor', array('type' => 'file')); ?> <fieldset> <legend><?php echo __('Escoja el archivo a subir'); ?></legend> <?php echo $this->Form->file('archivo'); ?> </fieldset> <?php echo $this->Form->end(__('Submit')); ?> </div> <div class="actions"> <h3><?php echo __('Actions'); ?></h3> <ul> <li><?php echo $this->Form->postLink(__('Delete'), array('action' => 'delete', $this->Form->value('Autor.id')), array('confirm' => __('Are you sure you want to delete # %s?', $this->Form->value('Autor.id')))); ?></li> <li><?php echo $this->Html->link(__('List Autors'), array('action' => 'index')); ?></li> </ul> </div>