FastLight Logo

FastLight Framework 2 DOCS

Documentación de uploadedfile

La clase UploadedFile

Mediante objetos de tipo UploadedFile representaremos los ficheros subidos desde formulario.

Como UploadedFile hereda de File, podremos hacer con un fichero subido cualquier operación que se pueda hacer con otros ficheros. Consultad también los ejemplos de la clase File para ver las operaciones disponibles (comprobar tipos, mover, copiar, borrar...).

Índice

Usando el constructor

Se puede crear un objeto UplaodedFile usando el constructor, a partir de la clave del array $_FILES, el tamaño máximo que queremos permitir (opcional) y una lista de tipos MIME aceptados (opcional).

Sin embargo, esta no va a ser la forma habitual de crear el objeto, puesto que lo normal será hacerlo a partir de la Request, como se muestra en el siguiente ejemplo.

Parámetros

Ejemplo

// crea un objeto de tipo UploadedFile // a partir de un fichero que llega vía POST de un input llamado 'picture' $fichero = new UploadedFile('picture'); // muestra el objeto dump($fichero); // si queremos limitar tamaño e indicar tipos: $fichero = new UploadedFile('picture', 100000, ['image/png', 'image/gif']); // muestra el objeto dump($fichero);

Recuperando el fichero a partir de la Request

Lo más normal es recuperar el fichero a partir del objeto Request. Para ello, usaremos el método Request::file() de la siguiente forma:

Ejemplo

// Crea un objeto de tipo UploadedFile. El input se llamará 'fichero' $fichero = request()->file('fichero'); // muestra el objeto dump($fichero); // si queremos limitar tamaño e indicar tipos: $fichero = request()->file('fichero', 100000, ['application/pdf']); // muestra el objeto dump($fichero);

Podéis consultar más detalles del método Request::file() en la documentación sobre la clase Request.

Comprobando si un fichero llega

Podemos comprobar si un fichero llega o no mediante el método check().

Parámetros

Valor de retorno

Ejemplo

// comprobar si llega el fichero de un input con name "documento" if(UploadedFile::check('documento')){ // recuperarlo mediante un objeto UploadedFile $fichero = request()->file('documento'); // ... }

También podemos saber si el fichero llega o no mirando lo que retorna el método file(), puesto que retorna NULL si no existe la entrada en el array $_FILES.

Moviendo el fichero con store()

Tenemos varias formas de colocar el fichero en su ubicación definitiva, una de ellas es usar el método store(). Este método guardará el fichero en la ruta indicada o en la carpeta por defecto (storage) si no se indica.

La carpeta por defecto se puede cambiar en el fichero de configuración config.php.

Parámetros

Valor de retorno

Excepciones

Ejemplo

// recuperarlo mediante un objeto UploadedFile $fichero = request()->file('documento'); // guarda el fichero en la carpeta por defecto (storage) // se puede configurar la carpeta en config.php $fichero->store();

Moviendo el fichero con storeAs()

Otra forma es usar el método storeAs(), que funciona de forma similar al método store(), pero que permite indicar el nombre del fichero en vez de generarlo de forma única.

Parámetros

Valor de retorno

Excepciones

Ejemplo

// recuperarlo mediante un objeto UploadedFile $fichero = request()->file('picture', 0, ['image/jpeg']); // guarda el fichero en la carpeta public/immages // con el nombre del fichero original $fichero->storeAs('/images');

Fin de la documentación uploadedfile

Lista de ejemplos.

FastLight Framework 2 DOCS, versión 2.0.10