Framework openMairie - version 4.10

filestorage_filesystem extends filestorage_base
in package

Définition de la classe 'filestorage_filesystem'.

Cette classe est une classe de stockage spécifique aussi appelée plugin de stockage pour le système d'abstraction de stockage des fichiers. Le principe de ce plugin est de stocker tous les fichiers en renommant le fichier avec un UUID (identifiant unique) et en créant une arborescence à deux niveaux. Le premier est composé des deux premiers caractères de l'UUID du fichier et le second niveau des quatre premiers caractères de l'UUID du fichier. Un fichier avec l'extension .info permet de stocker les informations de base du fichier ainsi que des métadonnées.

Table of Contents

$FILE_HANDLE_ERR  : string
Message à destination des logs.
$ILLEGAL_CHANGE  : string
Message à destination des logs.
$LOCK_FAILURE  : string
Message à destination des logs.
$METADATA_MISSING  : string
Message à destination des logs.
$METADATA_WRITE_ERR  : string
Message à destination des logs.
$MKDIR_ERR  : string
Message à destination des logs.
$NO_CHANGE  : string
Message à destination des logs.
$NO_FILE  : string
Message à destination des logs.
$NO_FILEDATA  : string
Message à destination des logs.
$NO_METADATA  : string
Message à destination des logs.
$NO_ROOT_DIR  : string
Message à destination des logs.
$NO_UID  : string
Message à destination des logs.
$NO_WRITE_RIGHT  : string
Message à destination des logs.
$RAW_DATA_WRITE_ERR  : string
Message à destination des logs.
$SIZE_MISMATCH  : string
Message à destination des logs.
$SUCCESS  : string
Message à destination des logs.
__construct()  : void
Constructeur.
create()  : string
Cette fonction permet de sauvegarder le fichier contenant les donnees, ainsi que le fichier contenant les métadonnées du fichier precedement cité.
create_temporary()  : mixed
Créer un fichier temporaire sur le filesystem
delete()  : string
Cette fonction permet de supprimer un ficher sauvegardé sur le filesystem.
delete_temporary()  : uid
Créer un fichier temporaire sur le filesystem
get()  : En
Cette fonction permet de récupérer les données d'un fichier (données brutes et métadonnées).
get_temporary()  : null
Son but est de permettre l'extraction d'un fichier contenant les données, ainsi que l'extraction de contenu du fichier contenant les métadonnées
getFilename()  : Le
Cette fonction retourne le nom de fichier qui est stocké sous l'uid passé en paramètre.
getFilename_temporary()  : null
Cette fonction doit être implémente par des classes dérivées. Son but est de retourner le nom du fichier temporaire identifié par l'uid passe en paramétré.
getInfo()  : La
Cette fonction retourne un tableau associatif qui contient le nom, le mime type et la taille de fichier qui est stocké sous l'uid passé en paramètre.
getMimetype()  : Le
Cette fonction retourne le mime type de fichier qui est stocké sous l'uid passé en paramètre.
getPath()  : Le
Cette fonction retourne le path du fichier
getPath_temporary()  : null
Cette fonction doit être implémente par des classes dérivées. Son but est de retourner le path du fichier temporaire identifié par l'uid passe en paramétré.
getSize()  : La
Cette fonction retourne la taille de fichier qui est stocké sous l'uid passé en paramètre.
lock()  : string
Cette fonction permet de faire un lock sur un fichier. On peut créer le lock seulement si il n'y a aucun lock existant.
unlock()  : mixed
Cette fonction permet de lâcher le lock sur un fichier.
update()  : En
Cette fonction permet de modifier les données d'un fichier (données brutes et métadonnées).
update_metadata()  : mixed
Cette fonction permet de modifier les métadonnées d'un fichier.
getContent()  : mixed
Permet de recupérer le contenu et les métadonnées d'un fichier en fonction du mode passé en paramètre qui définira le type de la donnée.
addToLog()  : mixed
Cette fonction ajoute dans le log.
arraysEqual()  : Si
Cette fonction compare deux tableaux pour vérifier s'ils contenait les données identiques
generate_uuid()  : mixed
Cette fonction génère l'identifiant unique utilisé dans la sauvegarde d'un fichier.
getDirPathForUid()  : Le
Cette fonction retourne le répertoire qui stocke le fichier avec les données brutes, et le fichier avec les métadonnées. Quand un fichier qui sert comme lock est créé il est placé dans ce même répertoire
getMetadata()  : mixed|null
Cette fonction extraire les métadonnées d'un fichier sauvegarde.
getMetadataStr()  : La
Cette fonction retourne les metadonees représentées dans le format d'une chaîne des caractères.
rmdirLevel()  : mixed
Cette fonction supprime les repertoires donne le numero des niveaux a supprimer.
writeFile()  : mixed
Cette fonction permet d'ecrire un fichier.

Properties

$ILLEGAL_CHANGE

Message à destination des logs.

public string $ILLEGAL_CHANGE = 'Essai de changer mimetype ou taille sans des donnees brutes'

$MKDIR_ERR

Message à destination des logs.

public string $MKDIR_ERR = 'Erreur dans la creation du repertoire qui doit contenir les fichiers.'

$NO_ROOT_DIR

Message à destination des logs.

public string $NO_ROOT_DIR = 'Le chemin de racine de sauvegarde des fichiers n\'est pas set'

$RAW_DATA_WRITE_ERR

Message à destination des logs.

public string $RAW_DATA_WRITE_ERR = 'Erreur dans l\'ecriture de donnees brutes'

$SIZE_MISMATCH

Message à destination des logs.

public string $SIZE_MISMATCH = 'La taille du fichier ne corresponds pas a la taille set dans metadata'

Methods

__construct()

Constructeur.

public __construct(array<string|int, mixed> $conf) : void

Initialise le chemin racine de stockage des fichiers et le cré si il n'existe pas.

Parameters
$conf : array<string|int, mixed>

Tableau de configuration du storage : $conf = array( "path" => "../var/storage/", );

Return values
void

create()

Cette fonction permet de sauvegarder le fichier contenant les donnees, ainsi que le fichier contenant les métadonnées du fichier precedement cité.

public create(string $data, mixed $metadata[, string $mode = "from_content" ]) : string
Parameters
$data : string

Le contenu de fichier

$metadata : mixed

Les metadata du fichier à sauvegarder

$mode : string = "from_content"

origine des données (content/temporary/path)

Return values
string

En cas de succès on retourne l'uid du fichier. En cas d'erreur on retourne OP_FAILURE

create_temporary()

Créer un fichier temporaire sur le filesystem

public create_temporary(mixed $data, mixed $metadata, string $mode) : mixed
Parameters
$data : mixed
$metadata : mixed
$mode : string

origine des données (content/temporary/path)

Return values
mixed

delete()

Cette fonction permet de supprimer un ficher sauvegardé sur le filesystem.

public delete(string $uid) : string
Parameters
$uid : string

L'identifiant du fichier

Return values
string

En cas de succès on retourne l'identifiant du fichier qui était supprimé. Autrement on retourne OP_FAILURE

delete_temporary()

Créer un fichier temporaire sur le filesystem

public delete_temporary(mixed $uid) : uid
Parameters
$uid : mixed
Return values
uid

get()

Cette fonction permet de récupérer les données d'un fichier (données brutes et métadonnées).

public get(string $uid) : En
Parameters
$uid : string

L'identifiant du fichier a récupérer

Return values
En

cas de succès on retourne les donnes du fichier. En cas d'échec on retourne null

get_temporary()

Son but est de permettre l'extraction d'un fichier contenant les données, ainsi que l'extraction de contenu du fichier contenant les métadonnées

public get_temporary(mixed $uid) : null
Parameters
$uid : mixed
Return values
null

getFilename()

Cette fonction retourne le nom de fichier qui est stocké sous l'uid passé en paramètre.

public getFilename(string $uid) : Le
Parameters
$uid : string

L'identifiant de fichier

Return values
Le

nom de fichier, si le fichier est trouvé, sinon on retourne null.

getFilename_temporary()

Cette fonction doit être implémente par des classes dérivées. Son but est de retourner le nom du fichier temporaire identifié par l'uid passe en paramétré.

public getFilename_temporary(string $uid) : null
Parameters
$uid : string

L'identifiant du fichier

Return values
null

getInfo()

Cette fonction retourne un tableau associatif qui contient le nom, le mime type et la taille de fichier qui est stocké sous l'uid passé en paramètre.

public getInfo(string $uid) : La
Parameters
$uid : string

L'identifiant de fichier

Return values
La

taille de fichier, si le fichier est trouvé, ou OP_FAILURE si la classe de sauvegarde n'était pas instanciée

getMimetype()

Cette fonction retourne le mime type de fichier qui est stocké sous l'uid passé en paramètre.

public getMimetype(string $uid) : Le
Parameters
$uid : string

L'identifiant de fichier

Return values
Le

mime type de fichier, si le fichier est trouvé, sinon on retourne null.

getPath()

Cette fonction retourne le path du fichier

public getPath(string $uid) : Le
Parameters
$uid : string

L'identifiant du fichier

Return values
Le

path du fichier

getPath_temporary()

Cette fonction doit être implémente par des classes dérivées. Son but est de retourner le path du fichier temporaire identifié par l'uid passe en paramétré.

public getPath_temporary(string $uid) : null
Parameters
$uid : string

L'identifiant du fichier

Return values
null

getSize()

Cette fonction retourne la taille de fichier qui est stocké sous l'uid passé en paramètre.

public getSize(string $uid) : La
Parameters
$uid : string

L'identifiant de fichier

Return values
La

taille de fichier, si le fichier est trouvé, sinon on retourne null.

lock()

Cette fonction permet de faire un lock sur un fichier. On peut créer le lock seulement si il n'y a aucun lock existant.

public lock(string $uid) : string
Parameters
$uid : string

L'identifiant du fichier

Return values
string

En cas de succès on retourne true. Autrement on retourne false.

unlock()

Cette fonction permet de lâcher le lock sur un fichier.

public unlock(string $uid) : mixed
Parameters
$uid : string

L'identifiant du fichier

Return values
mixed

update()

Cette fonction permet de modifier les données d'un fichier (données brutes et métadonnées).

public update(string $uid, string $data, mixed $metadata[, string $mode = "from_content" ]) : En
Parameters
$uid : string

L'identifiant du fichier a récupérer

$data : string

Les données brutes.

$metadata : mixed

Tableau contenant les métadonnées du fichier

$mode : string = "from_content"

origine des données (content/temporary/path)

Return values
En

cas de succès on retourne l'uid du fichier. En cas d'échec on retourne OP_FAILURE

update_metadata()

Cette fonction permet de modifier les métadonnées d'un fichier.

public update_metadata(string $uid, array<string|int, mixed> $metadata) : mixed
Parameters
$uid : string

Identifiant du fichier dans le filestorage.

$metadata : array<string|int, mixed>

Liste des métadonnées à mettre à jour.

Return values
mixed

Identifiant du fichier ou OP_FAILURE.

getContent()

Permet de recupérer le contenu et les métadonnées d'un fichier en fonction du mode passé en paramètre qui définira le type de la donnée.

protected getContent(string $data, string $mode) : mixed
Parameters
$data : string

handle du fichier

$mode : string

origine des données (content/temporary/path)

Return values
mixed

Contenu du fichier

addToLog()

Cette fonction ajoute dans le log.

private addToLog(string $file, string $msg[, string $func = "" ][, string $mode = EXTRA_VERBOSE_MODE ]) : mixed
Parameters
$file : string

Le nom de fichier, ou l'identifiant du fichier

$msg : string

Le message a logger

$func : string = ""

Le nom de la fonction

$mode : string = EXTRA_VERBOSE_MODE

Mode du log.

Return values
mixed

arraysEqual()

Cette fonction compare deux tableaux pour vérifier s'ils contenait les données identiques

private arraysEqual(mixed $arr0, mixed $arr1) : Si
Parameters
$arr0 : mixed

Premier tableau a comparer

$arr1 : mixed

Deuxième tableau a comparer

Return values
Si

les tableau sont identiques on retourne true, autrement on retourne false

generate_uuid()

Cette fonction génère l'identifiant unique utilisé dans la sauvegarde d'un fichier.

private generate_uuid([string $prefix = "" ]) : mixed
Parameters
$prefix : string = ""

La chaîne des caractères à utiliser pour générer l'identifiant

Return values
mixed

getDirPathForUid()

Cette fonction retourne le répertoire qui stocke le fichier avec les données brutes, et le fichier avec les métadonnées. Quand un fichier qui sert comme lock est créé il est placé dans ce même répertoire

private getDirPathForUid(string $uid) : Le
Parameters
$uid : string

L'identifiant du fichier

Return values
Le

répertoire qui contient les fichiers. Si le chemin de racine de sauvegarde des fichiers n'est pas set, on retourne null.

getMetadata()

Cette fonction extraire les métadonnées d'un fichier sauvegarde.

private getMetadata(string $uid) : mixed|null
Parameters
$uid : string

L'identifiant du fichier

Return values
mixed|null

En cas de succès on retourne le tableau contenant les méthadones. En cas d'échec, on retourne null.

getMetadataStr()

Cette fonction retourne les metadonees représentées dans le format d'une chaîne des caractères.

private getMetadataStr(mixed $metadata) : La
Parameters
$metadata : mixed
Return values
La

chaîne des caractères contenant les métadonnées, ou null si les métadonnées n'existent pas.

rmdirLevel()

Cette fonction supprime les repertoires donne le numero des niveaux a supprimer.

private rmdirLevel(string $path, string $filename[, int $level = 2 ]) : mixed
Parameters
$path : string

Le chemin a supprimer, entierement, ou subpartie

$filename : string

L'identifiant du fichier à supprimer

$level : int = 2

Le nombre des niveaux à supprimer

Return values
mixed

writeFile()

Cette fonction permet d'ecrire un fichier.

private writeFile(string $path, string $filename, string $file_content, mixed $size[, bool $delete_on_error = true ]) : mixed
Parameters
$path : string

Le repertoire (chemin absolue) qui va contenir le fichier

$filename : string

Le nom du fichier

$file_content : string

Le contenu du fichier

$size : mixed
$delete_on_error : bool = true

Marqueur de suppression sur erreur.

Return values
mixed

Search results