-
Guillaume Perréal authored1110b1d3
<?php
/*
* Copyright (C) 2015 IRSTEA
* All rights reserved.
*
* @package irstea/file-upload-bundle
* @author Guillaume Perréal <guillaume.perreal@irstea.fr>*
*/
namespace Irstea\FileUploadBundle\Model;
use DateTime;
/** Un fichier uploadé.
*
*/
interface UploadedFileInterface
{
/** Fichier en cours d'upload.
*
* @var string
*/
const ETAT_EN_COURS = 'en-cours';
/** Fichier orphelin.
*
* Fichier qui n'a pas encore été associé à un objet métier.
*
* @var string
*/
const ETAT_ORPHELIN = 'orphelin';
/** Fichier normal.
*
* Fichier associé à un objet métier.
*
* @var string
*/
const ETAT_NORMAL = 'normal';
/** Fichier corrompu.
*
* Fichier dont le contenu disque ne correspond pas à la somme de contrôle enregistreé en base de données.
*
* @var string
*/
const ETAT_CORROMPU = 'corrompu';
/** Fichier manquant.
*
* Fichier existant en base de données mais introuvable sur disque.
*
* @var string
*/
const ETAT_MANQUANT = 'manquant';
/** Fichier rejeté.
*
* Fichier uploadé mais rejeté par un listener (par exemple l'antivirus).
*
* @var string
*/
const ETAT_REJETE = 'rejete';
/** Retourne l'identifiant du fichier.
*
* @return string
*
* @api
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
*/
public function getId();
/**
* Set originalFilename
*
* @param string $displayName
* @return UploadedFileInterface
*
* @api
*/
public function setDisplayName($displayName);
/** Retourne le nom original du fichier (c-à-d sur le poste de l'utilisateur ayant fait l'upload.)
*
* @return string
*
* @api
*/
public function getDisplayName();
/**
* @param string $description
* @return UploadedFileInterface
*
* @api
*/
public function setDescription($description = null);
/** Retourne la description du fichier.
*
* @return string
*
* @api
*/
public function getDescription();
/** Retourne le chemin du fichier dans le filesystem.
*
* @return string
*
* @api
*/
public function getPath();
/** Remplace le chemin du fichier dans le filesystem.
*
* Cela devrait causer un déplacement/renommage du fichier.
*
* @param string $path
*
* @return UploadedFileInterface
*
* @api
*/
public function setPath($path);
/** Change le chemin du fichier sans changer le nom.
*
* @param string $newDir Nouveau répertoire
*
* @return UploadedFileInterface
*
* @uses UploadedFileInterface::setPath
*
* @api
*/
public function moveTo($newDir);
/**
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
* Set mimeType
*
* @param string $mimeType
* @return UploadedFileInterface
*
* @api
*/
public function setMimeType($mimeType);
/** Retourne le type MIME enregistré.
*
* @return string
*
* @api
*/
public function getMimeType();
/**
* Set size
*
* @param integer $size
* @return UploadedFileInterface
*
* @api
*/
public function setSize($size);
/** Retourne la taille enregistrée, en octets.
*
* @return integer
*
* @api
*/
public function getSize();
/**
* Set checksum
*
* @param string $checksum
* @return UploadedFileInterface
*
* @api
*/
public function setChecksum($checksum);
/** Retourne la somme de contrôle enregistrée.
*
* @return string
*
* @api
*/
public function getChecksum();
/** Modifie l'état courant du fichier.
*
* @param string $etat
* @return UploadedFileInterface
*
* @api
*/
public function setEtat($etat);
/** Retourne l'état courant du fichier.
*
* @return string
*
* @api
*/
public function getEtat();
211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
/** Retourne la date de création du fichier.
*
* @return DateTime
*
* @api
*/
public function getCreatedAt();
/** Retourne le nom de l'utilisateur ayant uploadé le fichier.
*
* @return string
*
* @api
*/
public function getCreatedBy();
/** Retourne l'adresse IP du client ayant uploadé le fichier.
*
* @return string
*
* @api
*/
public function getCreatedFrom();
/** Remplace les métadonnées du fichier.
*
* @param array $metadata Les nouvelles métadonnées.
*
* @return UploadedFileInterface
*
* @api
*/
public function setMetadata(array $metadata);
/** Retourne les métadonnées du fichier.
*
* @return array
*
* @api
*/
public function getMetadata();
/** Retourne une représentation texte du fichier.
*
* @return string
*
* @api
*/
public function __toString();
/** Vérifie la validité du fichier.
*
* Cela consiste à vérifier que le fichier existe dans le filesystem, et que la taille et la somme de contrôle
* correspondent. En cas d'erreur, l'état du fichier est modifié en conséquence.
*
* @uses UploadedFileInterface::setEtat
*
* @api
*/
public function validate();
/** Détermine si le fichier est dans un état "valide".
*
* @return boolean
*
* @api
*/
public function isValid();
/** Détermine si le fichier est orphelin.
281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
*
* @return boolean
*
* @api
*/
public function isOrphelin();
/** Retourne la date de dernière modification dans le filesystem.
*
* @return DateTime
*
* @api
*/
public function getLastModified();
/** Retourne le contenu du fichier.
*
* @return string Une chaîne.
*
* @api
*/
public function getContent();
/** Remplace le contenu du fichier.
*
* @param string $content
*
* @api
*/
public function setContent($content);
/** Ecrit dans le fichier depuis un descripteur de fichier.
*
* @param resource $source Flux d'entrée à lire.
* @param int $maxlen Nombre maximum d'octets à lire.
* @param int $writeOffset Offset depuis le début du fichier.
*
* @return int Nombre d'octets écrits.
*
* @api
*/
public function copyFrom($source, $maxlen = -1, $writeOffset = 0);
/** Envoie le contenu du fichier dans un descripteur de fichier.
*
* @param resource $dest Flux de sortie.
* @param int $maxlen Nombre maximum d'octets à lire.
* @param int $readOffset Offset depuis le début du fichier.
*
* @return int Nombre d'octets lus.
*
* @api
*/
public function copyTo($dest, $maxlen = PHP_INT_MAX, $readOffset = 0);
/** Retourne un nom de fichier local pour ce fichier.
*
* Ce peut-être un fichier temporaire qui sera supprimé à la fin de la requête.
*
* @return string
*
* @api
*/
public function getLocalPath();
/** Retourne une représentation "tableau" des attributs du fichier uploadé.
*
* Utilisé comme sérialisation du pauvre.
*
* @todo Utiliser un vrai serializer.
351352353354355356357358
*
* @return array
*
* @internal
*/
public function toArray();
}