UploadedFileInterface.php 7.96 KiB
<?php declare(strict_types=1);
/*
 * Copyright (C) 2015-2017 IRSTEA
 * All rights reserved.
 */
namespace Irstea\FileUploadBundle\Model;
use DateTime;
/** Un fichier uploadé.
interface UploadedFileInterface
    /** Fichier en cours d'upload.
     * @var string
    public const ETAT_EN_COURS = 'en-cours';
    /** Fichier orphelin.
     * Fichier qui n'a pas encore été associé à un objet métier.
     * @var string
    public const ETAT_ORPHELIN = 'orphelin';
    /** Fichier normal.
     * Fichier associé à un objet métier.
     * @var string
    public 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
    public const ETAT_CORROMPU = 'corrompu';
    /** Fichier manquant.
     * Fichier existant en base de données mais introuvable sur disque.
     * @var string
    public const ETAT_MANQUANT = 'manquant';
    /** Fichier rejeté.
     * Fichier uploadé mais rejeté par un listener (par exemple l'antivirus).
     * @var string
    public const ETAT_REJETE = 'rejete';
    /** Retourne l'identifiant du fichier.
     * @return string
     * @api
    public function getId();
    /**
     * Set originalFilename.
     * @param string $displayName
     * @return UploadedFileInterface
     * @api
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
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); /** * Set mimeType. * * @param string $mimeType * * @return UploadedFileInterface * * @api */ public function setMimeType($mimeType); /** Retourne le type MIME enregistré. * @return string * * @api */
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
public function getMimeType(); /** * Set size. * * @param int $size * * @return UploadedFileInterface * * @api */ public function setSize($size); /** Retourne la taille enregistrée, en octets. * @return int * * @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(); /** Définit la date de création du fichier. * @param DateTime $time * * @return self * * @api */ public function setCreatedAt(\DateTime $time); /** Définit le nom de l'utilisateur ayant uploadé le fichier. * @param string $username * * @return self * * @api */
211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
public function setCreatedBy($username); /** Retourne l'adresse IP du client ayant uploadé le fichier. * @param string $ipAddress * * @return self * * @api */ public function setCreatedFrom($ipAddress); /** 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 bool * * @api */
281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
public function isValid(); /** Détermine si le fichier est orphelin. * @return bool * * @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. * * @return array * * @internal */
351352353354355356357358359360361362363364
public function toArray(); /** * Détermine si ce fichier a le même contenu qu'un autre fichier. * * @param UploadedFileInterface $other * * @return bool true si les deux fichiers ont le même contenu * * @api */ public function hasSameContent(self $other); }