Methods

dirBase()

dirBase() : string

Retorna el directorio base para los uploads.

Por defecto corresponde a la ruta absoluta de XGAP_CONF_UPLOAD_DIR, pero se puede cambiar mediante \cambiarDirBase().

Returns

string

cambiarDirBase()

cambiarDirBase(string  $dir) 

Establece el directorio base para los uploads.

Si $dir es vacío, se vuelve el directorio base al valor por defecto.
No comprueba que el directorio exista.

Parameters

string $dir

el nuevo directorio base

permisosDir()

permisosDir() : integer

Retorna los permisos a aplicar a los directorios cuando se crean.

Returns

integer

cambiarPermisosDir()

cambiarPermisosDir(integer  $perm = 509) 

Establece los permisos a aplicar a los directorios cuando se crean.

No se comprueba que el valor de $perm sea válido.

Parameters

integer $perm

los permisos, en el formato numérico esperado por {@link chmod()}

permisosArchivo()

permisosArchivo() : integer

Retorna los permisos a aplicar a los archivos subidos.

Returns

integer

cambiarPermisosArchivo()

cambiarPermisosArchivo(integer  $perm = 436) 

Establece los permisos a aplicar a los archivos subidos.

No se comprueba que el valor de $perm sea válido.

Parameters

integer $perm

los permisos, en el formato numérico esperado por {@link chmod()}

prepararDir()

prepararDir(string  $dir) 

Comprueba que el directorio <var>$dir</var> exista y tenga permiso de escritura.

Si no existe, intenta crearlo.

Parameters

string $dir

el directorio a comprobar

Throws

\ExcepcionXGAPUploadDirNoCreable

si el directorio no existe y no se puede crear

\ExcepcionXGAPUploadDirNoEscribible

si el directorio no tiene permiso de escritura

prepararDirBase()

prepararDirBase() 

Comprueba que el directorio base exista y tenga permiso de escritura.

Si no existe, intenta crearlo.

Throws

\ExcepcionXGAPUploadDirNoCreable

si el directorio no existe y no se puede crear

\ExcepcionXGAPUploadDirNoEscribible

si el directorio no tiene permiso de escritura

rutaAbsolutaUpload()

rutaAbsolutaUpload(string  $archivo = null) : string

Retorna la ruta absoluta para un upload de la aplicación.

Parameters

string $archivo

la ruta del archivo, relativa al {@link Upload::dirBase() directorio base}; si es vacío, el resultado es la ruta absoluta del directorio base

Returns

string

__construct()

__construct(string  $nombre, string  $dir_destino = null, boolean  $dir_destino_relativo = null, boolean  $sobreescribir = true) 

Crea una instancia para un campo del formulario y directorio destino determinados.

No se debe intentar crear una instancia de esta clase si no se hizo el envío de un formulario con al menos un input de tipo file.

Parameters

string $nombre

nombre del campo de formulario que corresponde al upload

string $dir_destino

directorio destino del upload; si es null o vacío, se usa el directorio base

boolean $dir_destino_relativo

¿el directorio destino se debe tomar como relativo al {@link dirBase() directorio base}? si es true, se toma como subdirectorio del base; si es false, el base se ignora; si es null, se toma como relativo o no dependiendo de si $dir_destino no comienza o sí con DIR_SEP, respectivamente

boolean $sobreescribir

¿se debe sobreescribir el archivo en caso de existir en el directorio destino?

Throws

\ExcepcionXGAP

si no está disponible la variable $_FILES o si no contiene una entrada con clave $nombre

linkArchivo()

linkArchivo(string  $ruta_archivo, boolean  $ruta_archivo_es_relativa = null) : string

Retorna la ruta de un link para acceder via web a un archivo cargado por esta clase.

Parameters

string $ruta_archivo

la ruta del archivo (valor del campo de formulario).

boolean $ruta_archivo_es_relativa

¿la ruta del archivo se debe tomar como relativa al {@link dirBase() directorio base}? si es true, se toma como relativa al base; si es false, el base se ignora; si es null, se toma como relativa o no dependiendo de si $ruta_archivo no comienza o sí con DIR_SEP, respectivamente

Returns

string

huboUpload()

huboUpload() : boolean

Permite comprobar si el usuario hizo un upload.

Returns

boolean

huboError()

huboError() : boolean

Permite comprobar si hubo un error en el upload.

Returns

boolean

cancelar()

cancelar(mixed  $motivo = null) 

Cancela el upload, impidiendo que se realice la operación de mover el archivo al destino.

Parameters

mixed $motivo

motivo de la cancelación

Throws

\XgapIllegalStateException

si el archivo ya {@link FormFileUpload::fueMovido() fue movido} a su destino

fueCancelado()

fueCancelado() : boolean

¿El upload fue cancelado?

Returns

boolean

motivoCancelado()

motivoCancelado() : mixed

Retorna el motivo dado al cancelar el upload.

Returns

mixed

esValido()

esValido() : boolean

Permite comprobar si el upload es válido, es decir que hubo upload, no hubo error y no fue cancelado.

Returns

boolean

fueMovido()

fueMovido() : boolean

Permite comprobar si el archivo ya fue movido a su destino.

Algunas operaciones sobre este objeto sólo se pueden realizar antes.

Returns

boolean

codigoError()

codigoError() : integer

Retorna el código de error del upload (una de las constantes de PHP <var>UPLOAD_ERR_*</var>).

Returns

integer

cambiarDirDestino()

cambiarDirDestino(string  $dir_destino = null, boolean  $dir_destino_relativo = null) 

Permite cambiar el directorio destino del upload.

Parameters

string $dir_destino

nuevo directorio destino; si es null o vacío, se usa el directorio base

boolean $dir_destino_relativo

¿el directorio destino se debe tomar como relativo al {@link dirBase() directorio base}? si es true, se toma como subdirectorio del base; si es false, el base se ignora; si es null, se toma como relativo o no dependiendo de si $dir_destino no comienza o sí con DIR_SEP, respectivamente

Throws

\XgapIllegalStateException

si el archivo ya {@link FormFileUpload::fueMovido() fue movido} a su destino

dirDestino()

dirDestino() : string

Retorna el directorio destino para el archivo subido.

Returns

string

cambiarNombreArchivo()

cambiarNombreArchivo(string  $nombre_archivo) 

Cambia el nombre que va a tener el archivo al subirlo al destino.

Parameters

string $nombre_archivo

nombre del archivo destino; si es vacío se usa el nombre original;

Throws

\XgapIllegalStateException

si el archivo ya {@link FormFileUpload::fueMovido() fue movido} a su destino

nombreArchivo()

nombreArchivo() : string

Retorna el nombre destino para el archivo subido, sin incluir el directorio destino.

Se usa el nombre original, saneado para evitar problemas.

Returns

string —

el nombre destino, o vacío si el upload no fue {@link esValido() válido}

nombreCompletoArchivo()

nombreCompletoArchivo() : string

Retorna el nombre completo del archivo destino, incluyendo la ruta.

Returns

string

valor()

valor() : string

Retorna el valor a almacenar para el campo.

El valor corresponde al nombre completo, sin incluir el directorio base en caso de ser relativo.

Returns

string

mensajeError()

mensajeError() : string

Retorna un mensaje que corresponde al código de error del upload.

Returns

string

moverADestino()

moverADestino() 

Mueve el archivo subido al directorio destino.

No tiene efecto si el usuario no hizo un upload o si hubo un error en éste; tampoco si se lo invoca más de una vez.

Throws

\ExcepcionXGAPUploadDirNoCreable

si el directorio destino no existe y no se puede crear

\ExcepcionXGAPUploadDirNoEscribible

si el directorio destino no tiene permiso de escritura

\ExcepcionXGAPUploadArchivo

si hay algún error al procesar el archivo subido

tipo()

tipo() : string|false

Permite obtener el tipo de contenido MIME del archivo subido.

Requiere que esté cargada la extensión "fileinfo".

Throws

\ExcepcionXGAPUploadArchivo

si hay un problema con el archivo subido

Returns

string|false —

el tipo de contenido (ej: 'text/plain') si lo pudo detectar; false si por algún motivo no pudo o el upload no es válido

tamanio()

tamanio() : integer|false

Permite obtener el tamaño del archivo subido.

Throws

\ExcepcionXGAPUploadArchivo

si hay un problema con el archivo subido

Returns

integer|false —

el tamaño del archivo en bytes; false si no puede determinarlo o el upload no es válido

contenido()

contenido(integer  $desplazamiento = -1, integer  $long_maxima = NULL) : string

Devuelve el contenido del archivo subido, como un string.

Parameters

integer $desplazamiento

desplazamiento a partir del cual se debe empezar a leer el contenido

integer $long_maxima

longitud máxima de datos a leer; por defecto se lee hasta el final del archivo

Throws

\ExcepcionXGAPUploadArchivo

si el upload es inválido

Returns

string —

el contenido del archivo; FALSE si el upload no es válido o no se puede leer

contenidoLineas()

contenidoLineas(boolean  $incluir_fin_linea = TRUE, boolean  $saltear_lineas_vacias = FALSE) : string

Devuelve el contenido del archivo subido, como un array de líneas.

Parameters

boolean $incluir_fin_linea

¿se debe incluir el fin de línea en cada elemento del array?

boolean $saltear_lineas_vacias

¿se deben saltear las líneas vacías?

Throws

\ExcepcionXGAPUploadArchivo

si el upload es inválido

Returns

string —

el contenido del archivo; FALSE si el upload no es válido o no se puede leer

__toString()

__toString() 

dirCondicional()

dirCondicional(string  $dir, boolean  $relativo = null) : string

Retorna el directorio terminado en el separador de directorios, posiblemente relativo al {@link dirBase() directorio base}.

Si $dir es relativo, el directorio devuelto es la concatenación de self::dirBase() y $dir; si es absoluto, es el propio $dir; si es vacío, es self::dirBase().

Parameters

string $dir
boolean $relativo

¿el directorio se debe tomar como relativo al {@link dirBase() directorio base}? si es true, se toma como subdirectorio del base; si es false, el base se ignora; si es null, se toma como relativo o no dependiendo de si $dir no comienza o sí con DIR_SEP, respectivamente

Returns

string

asegurarNoMovido()

asegurarNoMovido() 

Asegura que el archivo aún no se haya movido al destino.

Throws

\XgapIllegalStateException

si el archivo ya fue movido a destino

nombreCompletoArchivoActual()

nombreCompletoArchivoActual() : string

Retorna el nombre completo del archivo actual, de acuerdo a que ya haya sido movido o no.

Throws

\ExcepcionXGAPUploadArchivo

si el upload es inválido

Returns

string