Flow
in package
uses
LogTrait
Réceptionne des morceaux de fichiers envoyés par flow.js
Table of Contents
Properties
- $cache : Cache|null
- Gestion du cache Bigup
- $maxSizeFile : int
- Taille de fichier maximum
- $prefixe : string
- Préfixe utilisé par la librairie JS lors d'une requête
Methods
- __construct() : mixed
- Constructeur
- _request() : mixed
- Retrouve un paramètre de flow
- createFileFromChunks() : false|string
- Recrée le fichier complet à partir des morceaux de fichiers
- debug() : mixed
- error() : mixed
- getChunkFiles() : array<string|int, mixed>
- Retrouve les morceaux d'un fichier, dans l'ordre !
- getChunkTotalSize() : int
- Retourne la taille de l’ensemble des morceaux récupérés pour ce fichier
- handleChunk() : FlowResponse|string
- Enregistre un morceau de fichier
- handleTestChunk() : FlowResponse
- Teste si le morceau de fichier indiqué est déjà sur le serveur
- info() : mixed
- isChunkUploaded() : bool
- Indique si un morceau de fichier a déjà été sauvegardé
- isFileUploadComplete() : bool
- Indique si tous les morceaux d'un fichier ont été reçus
- log() : mixed
- Des logs
- response() : FlowResponse
- Retours à faire partir au navigateur
- responseError() : FlowResponse
- Retours avec texte d’erreur à faire au navigateur
- run() : FlowResponse|string
- Tester l'arrivée du javascript et agir en conséquence
- setMaxSizeFile() : mixed
- Définir la taille maximale des fichiers
- tmpChunkPathFile() : string
- Retourne le nom du fichier qui enregistre un des morceaux
- trouverPrefixe() : bool
- Trouve le prefixe utilisé pour envoyer les données
Properties
$cache
Gestion du cache Bigup
private
Cache|null
$cache
$maxSizeFile
Taille de fichier maximum
private
int
$maxSizeFile
= 0
$prefixe
Préfixe utilisé par la librairie JS lors d'une requête
private
string
$prefixe
= 'flow'
Methods
__construct()
Constructeur
public
__construct(Cache|null $cache) : mixed
Parameters
- $cache : Cache|null
_request()
Retrouve un paramètre de flow
public
_request(string $nom) : mixed
Parameters
- $nom : string
createFileFromChunks()
Recrée le fichier complet à partir des morceaux de fichiers
public
createFileFromChunks(array<string|int, mixed> $chunkFiles, string $destFile) : false|string
Supprime les morceaux si l'opération réussie.
Parameters
- $chunkFiles : array<string|int, mixed>
-
Chemin des morceaux de fichiers à concaténer (dans l'ordre)
- $destFile : string
-
Chemin du fichier à créer avec les morceaux
Return values
false|string —- false : erreur
- string : chemin du fichier complet sinon.
debug()
public
static debug(mixed $quoi) : mixed
Parameters
- $quoi : mixed
error()
public
static error(mixed $quoi) : mixed
Parameters
- $quoi : mixed
getChunkFiles()
Retrouve les morceaux d'un fichier, dans l'ordre !
public
getChunkFiles(string $chemin) : array<string|int, mixed>
Parameters
- $chemin : string
-
Chemin du répertoire contenant les morceaux de fichiers
Return values
array<string|int, mixed> —Liste de chemins de fichiers
getChunkTotalSize()
Retourne la taille de l’ensemble des morceaux récupérés pour ce fichier
public
getChunkTotalSize(string $filename, string $identifier) : int
Parameters
- $filename : string
- $identifier : string
Return values
int —Taille en octets, total des différentes parties
handleChunk()
Enregistre un morceau de fichier
public
handleChunk() : FlowResponse|string
Return values
FlowResponse|string —- string : Si fichier terminé d'uploader (réception du dernier morceau), retourne le chemin du fichier
handleTestChunk()
Teste si le morceau de fichier indiqué est déjà sur le serveur
public
handleTestChunk() : FlowResponse
Return values
FlowResponseinfo()
public
static info(mixed $quoi) : mixed
Parameters
- $quoi : mixed
isChunkUploaded()
Indique si un morceau de fichier a déjà été sauvegardé
public
isChunkUploaded(string $identifier, string $filename, int $chunkNumber) : bool
Parameters
- $identifier : string
- $filename : string
- $chunkNumber : int
Return values
bool —True si présent
isFileUploadComplete()
Indique si tous les morceaux d'un fichier ont été reçus
public
isFileUploadComplete(string $filename, string $identifier, int $totalSize, int $totalChunks) : bool
Parameters
- $filename : string
- $identifier : string
- $totalSize : int
- $totalChunks : int
-
Nombre de chunks déclarés par flow
Return values
boollog()
Des logs
public
static log(mixed $quoi[, int $gravite = _LOG_INFO_IMPORTANTE ]) : mixed
Parameters
- $quoi : mixed
- $gravite : int = _LOG_INFO_IMPORTANTE
response()
Retours à faire partir au navigateur
public
response(int $code[, array<string|int, mixed>|null $data = null ]) : FlowResponse
Parameters
- $code : int
- $data : array<string|int, mixed>|null = null
Return values
FlowResponseresponseError()
Retours avec texte d’erreur à faire au navigateur
public
responseError(string $message[, int $code = 415 ]) : FlowResponse
Parameters
- $message : string
- $code : int = 415
Return values
FlowResponserun()
Tester l'arrivée du javascript et agir en conséquence
public
run() : FlowResponse|string
2 possibilités :
- Le JS demande si un morceau de fichier est déjà présent (par la méthode GET)
- Le JS poste une partie d'un fichier (par la méthode POST)
Le script retourne
- le chemin du fichier complet si c’est le dernier morceau envoyé,
- sinon un [code http, data] à envoyer
Return values
FlowResponse|string —- string : chemin du fichier terminé d’uploadé
setMaxSizeFile()
Définir la taille maximale des fichiers
public
setMaxSizeFile(int $size) : mixed
Parameters
- $size : int
-
En Mo
tmpChunkPathFile()
Retourne le nom du fichier qui enregistre un des morceaux
public
tmpChunkPathFile(string $identifier, string $filename, int $chunkNumber) : string
Parameters
- $identifier : string
- $filename : string
- $chunkNumber : int
Return values
string —Nom de fichier
trouverPrefixe()
Trouve le prefixe utilisé pour envoyer les données
public
trouverPrefixe() : bool
La présence d'une des variables signale un envoi effectué par une des librairies js utilisée.
- 'flow' si flow.js
- 'resumable' si resumable.js
Return values
bool —True si préfixe présent et trouvé, false sinon.