Documentation du code de SPIP et de ses plugins

Big Upload

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

$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

info()

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
bool

log()

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
FlowResponse

responseError()

Retours avec texte d’erreur à faire au navigateur

public responseError(string $message[, int $code = 415 ]) : FlowResponse
Parameters
$message : string
$code : int = 415
Return values
FlowResponse

run()

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.


        
On this page

Search results