\filestorage_filesystem

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.

Summary

Methods
Properties
Constants
create()
delete()
update()
update_metadata()
get()
create_temporary()
delete_temporary()
get_temporary()
getFilename_temporary()
getPath_temporary()
lock()
unlock()
getFilename()
getMimetype()
getPath()
getSize()
getInfo()
__construct()
$NO_UID
$NO_FILE
$NO_METADATA
$NO_FILEDATA
$NO_WRITE_RIGHT
$NO_ROOT_DIR
$SIZE_MISMATCH
$RAW_DATA_WRITE_ERR
$METADATA_WRITE_ERR
$SUCCESS
$MKDIR_ERR
$METADATA_MISSING
$ILLEGAL_CHANGE
$NO_CHANGE
$LOCK_FAILURE
$FILE_HANDLE_ERR
No constants found
getContent()
No protected properties found
N/A
addToLog()
getDirPathForUid()
getMetadata()
getMetadataStr()
rmdirLevel()
writeFile()
arraysEqual()
generate_uuid()
No private properties found
N/A

Properties

$NO_UID

$NO_UID :string

Message à destination des logs.

Type

string

$NO_FILE

$NO_FILE :string

Message à destination des logs.

Type

string

$NO_METADATA

$NO_METADATA :string

Message à destination des logs.

Type

string

$NO_FILEDATA

$NO_FILEDATA :string

Message à destination des logs.

Type

string

$NO_WRITE_RIGHT

$NO_WRITE_RIGHT :string

Message à destination des logs.

Type

string

$NO_ROOT_DIR

$NO_ROOT_DIR :string

Message à destination des logs.

Type

string

$SIZE_MISMATCH

$SIZE_MISMATCH :string

Message à destination des logs.

Type

string

$RAW_DATA_WRITE_ERR

$RAW_DATA_WRITE_ERR :string

Message à destination des logs.

Type

string

$METADATA_WRITE_ERR

$METADATA_WRITE_ERR :string

Message à destination des logs.

Type

string

$SUCCESS

$SUCCESS :string

Message à destination des logs.

Type

string

$MKDIR_ERR

$MKDIR_ERR :string

Message à destination des logs.

Type

string

$METADATA_MISSING

$METADATA_MISSING :string

Message à destination des logs.

Type

string

$ILLEGAL_CHANGE

$ILLEGAL_CHANGE :string

Message à destination des logs.

Type

string

$NO_CHANGE

$NO_CHANGE :string

Message à destination des logs.

Type

string

$LOCK_FAILURE

$LOCK_FAILURE :string

Message à destination des logs.

Type

string

$FILE_HANDLE_ERR

$FILE_HANDLE_ERR :string

Message à destination des logs.

Type

string

Methods

create()

create(string  $data,mixed  $metadata,string  $mode = "from_content"): string

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

Parameters

string $data

Le contenu de fichier

mixed $metadata

Les metadata du fichier à sauvegarder

string $mode

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

Returns

string —

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

delete()

delete(string  $uid): string

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

Parameters

string $uid

L'identifiant du fichier

Returns

string —

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

update()

update(string  $uid,string  $data,mixed  $metadata,string  $mode = "from_content"): \En

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

Parameters

string $uid

L'identifiant du fichier a récupérer

string $data

Les données brutes.

mixed $metadata

Tableau contenant les métadonnées du fichier

string $mode

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

Returns

\En —

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

update_metadata()

update_metadata(string  $uid,array  $metadata): mixed

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

Parameters

string $uid

Identifiant du fichier dans le filestorage.

array $metadata

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

Returns

mixed —

Identifiant du fichier ou OP_FAILURE.

get()

get(string  $uid): \En

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

Parameters

string $uid

L'identifiant du fichier a récupérer

Returns

\En —

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

create_temporary()

create_temporary(\[string]  $data,\[mixed]  $metadata,string  $mode): \[string]

Créer un fichier temporaire sur le filesystem

Parameters

\[string] $data

contenu du fichier

\[mixed] $metadata

[tableau de méta données]

string $mode

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

Returns

\[string] —

uid

delete_temporary()

delete_temporary(\[string]  $uid): \uid

Créer un fichier temporaire sur le filesystem

Parameters

\[string] $uid

uid du fichier

Returns

\uid

get_temporary()

get_temporary(\[string]  $uid): 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

Parameters

\[string] $uid

uid du fichier

Returns

null

getFilename_temporary()

getFilename_temporary(string  $uid): 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é.

Parameters

string $uid

L'identifiant du fichier

Returns

null

getPath_temporary()

getPath_temporary(string  $uid): 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é.

Parameters

string $uid

L'identifiant du fichier

Returns

null

lock()

lock(string  $uid): 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.

Parameters

string $uid

L'identifiant du fichier

Returns

string —

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

unlock()

unlock(string  $uid)

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

Parameters

string $uid

L'identifiant du fichier

getFilename()

getFilename(string  $uid): \Le

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

Parameters

string $uid

L'identifiant de fichier

Returns

\Le —

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

getMimetype()

getMimetype(string  $uid): \Le

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

Parameters

string $uid

L'identifiant de fichier

Returns

\Le —

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

getPath()

getPath(string  $uid): \Le

Cette fonction retourne le path du fichier

Parameters

string $uid

L'identifiant du fichier

Returns

\Le —

path du fichier

getSize()

getSize(string  $uid): \La

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

Parameters

string $uid

L'identifiant de fichier

Returns

\La —

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

getInfo()

getInfo(string  $uid): \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.

Parameters

string $uid

L'identifiant de fichier

Returns

\La —

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

__construct()

__construct(array  $conf): void

Constructeur.

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

Parameters

array $conf

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

getContent()

getContent(string  $data,string  $mode): 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.

Parameters

string $data

handle du fichier

string $mode

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

Returns

mixed —

Contenu du fichier

addToLog()

addToLog(string  $file,string  $msg,string  $func = "",string  $mode = EXTRA_VERBOSE_MODE)

Cette fonction ajoute dans le log.

Parameters

string $file

Le nom de fichier, ou l'identifiant du fichier

string $msg

Le message a logger

string $func

Le nom de la fonction

string $mode

Mode du log.

getDirPathForUid()

getDirPathForUid(string  $uid): \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

Parameters

string $uid

L'identifiant du fichier

Returns

\Le —

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

getMetadata()

getMetadata(string  $uid): mixed|null

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

Parameters

string $uid

L'identifiant du fichier

Returns

mixed|null —

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

getMetadataStr()

getMetadataStr(  $metadata): \La

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

Parameters

$metadata

Returns

\La —

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

rmdirLevel()

rmdirLevel(string  $path,string  $filename,integer  $level = 2)

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

Parameters

string $path

Le chemin a supprimer, entierement, ou subpartie

string $filename

L'identifiant du fichier à supprimer

integer $level

Le nombre des niveaux à supprimer

writeFile()

writeFile(string  $path,string  $filename,string  $file_content,  $size,boolean  $delete_on_error = true)

Cette fonction permet d'ecrire un fichier.

Parameters

string $path

Le repertoire (chemin absolue) qui va contenir le fichier

string $filename

Le nom du fichier

string $file_content

Le contenu du fichier

$size
boolean $delete_on_error

Marqueur de suppression sur erreur.

arraysEqual()

arraysEqual(mixed  $arr0,mixed  $arr1): \Si

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

Parameters

mixed $arr0

Premier tableau a comparer

mixed $arr1

Deuxième tableau a comparer

Returns

\Si —

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

generate_uuid()

generate_uuid(string  $prefix = ""): \L'identifiant

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

Parameters

string $prefix

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

Returns

\L'identifiant —

du fichier