En nuestra clase controlador generalmente no nos comunicamos con el arreglo
$_FILES
directamente, en su lugar usamos la clase Request
o el complemento para controladores Params
, como se muestra en el código más abajo:
<?php
//...
class IndexController extends AbstractActionController
{
// An example controller action intended for handling file uploads.
public function uploadAction()
{
// Get the whole $_FILES array.
$files = $this->getRequest()->getFiles();
// The same, but with Params controller plugin.
$files = $this->params()->fromFiles();
// Get a single entry of the $_FILES array.
$files = $this->params()->fromFiles('myfile');
}
}
En la línea 9 del código de arriba usamos el método getRequest()
de la clase
controlador para acceder al objeto Request
y el método getFiles()
del
objeto request para recuperar la información de todos los archivos subidos.
En la línea 12, hacemos lo mismo pero con el complemento para controladores Params
.
Usamos su método fromFiles()
para traer la información sobre todos los archivos
subidos.
Si lo necesitamos, podemos extraer la información de un solo archivo. En la línea
15, usamos el mismo método fromFiles()
y le pasamos el nombre del campo file
que queremos recuperar. Este recupera una sola entrada de tipo file del arreglo
super-global $_FILES
.