Présentation

La classe CopixUploadedFile permet de gérer les opérations courantes lorsque vous souhaitez permettre à l'internaute d'uploader des fichiers vers votre application.

Exemple avec le formulaire suivant :

ATTENTION Pour pouvoir uploader un fichier, il est nécessaire d'avoir les paramètres enctype="multipart/form-data" method="POST" dans la déclaration de la balise form.

et le code de l'action

//dans l'actiongroup
public function processUpload (){
   //on va copier le fichier quelque part
   //ou alors en utilisant CopixUploadedFile directement
   if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
      $fichier->move ($cheminDestination);
   }
   //... on effectue la suite des traitements
}

A savoir qu'il est également possible d'utiliser CopixRequest pour ce faire

public function processUpload (){
   //on va copier le fichier quelque part
   //en utilisant CopixRequest::getFile
   if (CopixRequest::getFile ('fichier', $cheminDestination) !== false){
      //la copie s'est bien passée
   }
   //... on effectue la suite des traitements
}

Méthodes

getTempPath

Cette méthode retourne le chemin temporaire dans lequel le fichier à été placé en attendant d'être déplacé.

Exemple

if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
      $fichier->getTempPath ();
   }

getType

Cette méthode retourne le type MIME du fichier tel que le navigateur du client nous l'a présenté.

Cette information n'est pas vérifiée par PHP ni par Copix. Vous ne pouvez donc pas vous y fier de façon certaine.

Exemple

if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
      $fichier->getType ();
   }

getName

Cette méthode retourne le nom du fichier tel que le navigateur du client nous l'a présenté.

Exemple

if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
      $fichier->getName ();
   }

getSize

Cette méthode retourne la taille du fichier en octet.

Exemple

if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
      $fichier->getSize ();
   }

getError

Cette méthode statique permet de connaître l'erreur de téléchargement qui est survenue sur un fichier.

Exemple

if (($fichier = CopixUploadedFile::get ('fichier')) === false){
      //récupère l'erreur de téléchargement
      CopixUploadedFile::getError ('fichier');
   }

move ($pPath, $pFileName = null)

Cette méthode déplace le fichier téléchargé vers l'emplacement $pPath.

Il est possible de spécifier un nom de fichier différent que celui proposé par le navigateur en donnant le paramètre $pFileName.

Si $pFileName n'est pas donné, le nom par défaut (getName) sera utilisé.

Exemple

if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
      $fichier->move ($cheminDestination, $nomDeFichierSpecifique);
   }

Voir aussi