UploadedFileInterface.php 7.31 KiB
<?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(); }