Gestor del sistema de archivos.
public Filesystem::__construct( string $abspath = SYSTEM_ABSPATH )
Ruta absoluta. Por defecto será la indicada en la constante del sistema: SYSTEM_ABSPATH.
Guarda el modo con que serán creados los archivos.
public Filesystem::setMode ( int $mode ): void
El modo con el que, si es necesario, se crearán los directorios. Se utiliza en Filesystem::copy.
Escanea un directorio. Devuelve los archivos y carpetas hallados.
public Filesystem::scandir ( string $dir = '', array $ignore = [] ): array
El directorio a escanear.
Archivos a ignorar.
public Filesystem::mkdir ( string $dir, int $mode = null ): bool
El directorio a crear.
El modo con el que, si es necesario, se crearán los directorios.
Copia archivos y directorios. En éste último caso, copiará todo su contenido.
public Filesystem::copy ( string $from, string $to ): bool
La ruta de la fuente. De no existir, devolverá false.
La ruta de destino.
Renombra archivos y directorios.
Si deseamos renombrar un directorio y ya existe el directorio de destino, los mezclará, rescribiendo cualquier archivo de igual nombre.
public Filesystem::rename ( string $from, string $to ): bool
La ruta de la fuente. De no existir devolverá false.
La ruta de destino.
Remueve un directorio de manera recursiva.
public Filesystem::remove ( string $node ): bool
La ruta a remover, puede ser un archivo o una carpeta.
Remueve los directorios, de manera recursiva, sólo si están vacíos.
public Filesystem::removeDirIfEmpty ( string $dir, array $ignore = [] ): bool
El directorio a eliminar.
Archivos que, de existir, no los tomará en cuenta.
Cambia los permisos de archivos y/o directorios.
public Filesystem::chmod ( string $node, int $mode[, $option = 0] ): bool
La ruta al archivo o directorio.
El modo, puede ser octal u decimal.
Las opciones pueden ser:
Fuerza a que la ruta de un directorio finalice con un separador determinado.
public Filesystem::sanitizeDir ( string &$dir, string $separator = DIRECTORY_SEPARATOR ): void
El directorio a sanitizar.
Barra de separación.
Se encarga de la ruta base a la carpeta media. Esta carpeta se utiliza para que las aplicaciones guarden los archivos estáticos que suben los usuarios, estos archivos pueden ser: imágenes, videos, documentos, etc.
Devuelve la ruta absoluta al directorio media/.
Concatena la ruta a continuación de la ruta absoluta.
También, acepta una clave de configuración, lo que hará buscar en las configuraciones la ruta a concatenar.
Devuelve la url al directorio media/.
Concatena la ruta a continuación de la url.
También, acepta una clave de configuración, lo que hará buscar en las configuraciones la url a concatenar.
Opción para cambiar entre url absoluta o parcial.
Gestiona la carga de archivos.
// upload
$ufm = new UploadedFileManager($uploadedFile);
$ufm->moveTo('the/directory/');
$filename = $ufm->getFilename();
public FilesUploadedManager::__construct ( UploadedFileInterface|array|null $UploadedFile[ , bool $isMultiple = false ] )
Puede ser un objeto UploadedFileInterface o, en caso de ser multiple, un array de ellos. También acepta un valor null.
Corresponde con la carga multiple de archivos.
Valida los archivos agregados. Si uno de los parámetros es false, no se validará. En caso de fallo, lanza una Exception.
public UploadedFileManager::validate ( array $rules = null ): void
Las reglas podrán ser:
| Clave | Descripción |
|---|---|
| allow_extensions | Verifica que la extensión del archivo se encuentre entre las permitidas. Puede ser un array o una cadena separada por comas. |
| max_size | Verifica que el peso del archivo no supere el máximo establecido. El valor esta dado en bytes. |
| max_chars | Verifica que el nombre del archivo contenga menos caracteres que el máximo establecido. |
| max_files | Verifica la cantidad de archivos subidos. |
Mueve los archivos agregado. En caso de fallo, lanza una Exception.
public UploadedFileManager::moveTo ( string $targetPath, int $rename = 0, bool $rewrite = false ): void
Ruta al directorio donde se guardarán los archivos.
Uno de los modos en que puede ser renombrado el archivo a subir.
Está opción permite reescribir un archivo existente cuando se sube uno de igual nombre. En caso de optar por no reescribir, se lanzará una excepción.
Configura el archivo actual, para que, en caso de ser necesario, se reemplace por el nuevo archivo.
public UploadedFileManager::setCurrentFile( ?string $filename = null)
El nombre del archivo actual.
Obtiene el objeto UploadedFile que se está administrando, o un array de ellos en caso de ser multiple.
public UploadedFileManager::getUploadedFile( ): mixed
Obtiene un array con los datos correspondientes a uno o multiples archivos.
public UploadedFileManager::getUploadedFileData( ): array
Los valores devueltos son:
[
'clientFilename' => 'original_name.extension',
'filename' => 'current_name.extension',
'basename' => 'current_name',
'extension' => 'extension'
];
Obtiene el nombre original del archivo, o un array de ellos.
public UploadedFileManager::getClientFilename( ): string|array
Obtiene el nombre del archivo, o un array de ellos.
public UploadedFileManager::getFilename( ): string|array
Devuelve el número de archivos agregados hasta el momento.
public UploadedFileManager::$num_files : int
Extiende la clase UploadedManager para gestionar imágenes.
El nuevo tamaño de una imagen va a estar dado por: el modo de la redimensión y un valor. A continuación, se muestra un cuadro con los modos posibles:
| Modo | Descripción | Valor | |
|---|---|---|---|
| 1 - Proportional | Mantiene las proporciones de la imagen original. | int | El tamaño máximo para el ancho o alto. |
| 2 - Proportional area | Mantiene las proporciones de la imagen original. Pero su tamañoestará dado por el área. | int | El tamaño máximo para el ancho o alto, siempre que se mantenga la proporcionalidad del área. |
| 3 - Square | La redimensión se forzará a una figura cuadrada. | int | |
| 4 - Exact |
La redimensión se forzará a los tamaños pasados por valor.
|
string
|
Una cadena con el ancho u el alto, separados por una x, por ejemplo '100x80' |
| 5 - Width | Fija el ancho al valor pasado y calcula el alto. | int | El ancho. |
| 6 - Height | Fija el alto al valor pasado y calcula el ancho. | int | El alto. |
Redimensiona un imagen a varios tamaños.