Carnet Wiki

CVT Upload

Version 9 — Juin 2017 — 81.64.xx.xx

Doc en brouillon. Merci de compléter et corriger


CVT Upload est un plugin pour développeur qui fournit fournir des méthodes d’upload d’un ou d’un ensemble de fichiers au formulaire CVT.

Installation

Il est recommandé d’utiliser le plugin Vérifier

Une page de démonstration est disponible à l’adresse ?page=demo/test_upload qui fournit la syntaxe de base

Phase Vérifier

Le plugin fournit une méthode de vérification à des variables $_FILES sous la forme d’un tableau.

Voici l’exemple fourni par le plugin

  1. function formulaires_test_upload_verifier(){
  2.         $erreurs = array();
  3.        
  4.         if (_request('tromperie'))
  5.                 $erreurs['tromperie'] = 'Il ne fallait rien remplir.';
  6.  
  7.  
  8. // options pour vérifier les images
  9.         // si les options ne sont pas renseignées, la vérification se base sur
  10.         // _IMG_MAX_SIZE, _IMG_MAX_WIDTH, _IMG_MAX_HEIGHT
  11.         $verifier = charger_fonction('verifier', 'inc', true);
  12.         $options = array(
  13.                 'taille_max' => 250, // en Ko
  14.                 'largeur_max' => 800, // en px
  15.                 'hauteur_max' => 600, // en px
  16.         );
  17.  
  18.  
  19. // vérifier le champ image unique
  20.         if ($erreur = $verifier($_FILES['image'], 'image_upload', $options)) {
  21.                 // renvoyer l'erreur dans le formulaire
  22.                 $erreurs['image'] = $erreur;
  23.                 // supprimer le fichier en erreur dans _FILES
  24.                 unset($_FILES['image']);
  25.         }
  26.  
  27.  
  28. // vérifier le champ images multiples
  29.         $erreurs_fichiers = array();
  30.         if ($erreur = $verifier($_FILES['plusieurs_images'], 'image_upload_multiple', $options, $erreurs_fichiers)) {
  31.                 // renvoyer l'erreur dans le formulaire
  32.                 $erreurs['plusieurs_images'] = $erreur;
  33.                 // supprimer les fichiers en erreur dans _FILES
  34.                 foreach ($erreurs_fichiers as $id_file => $erreur) {
  35.                         foreach ($_FILES['plusieurs_images'] as $key => $val) {
  36.                                 unset($_FILES['plusieurs_images'][$key][$id_file]);
  37.                         }
  38.                 }
  39.         }
  40.  
  41.  
  42. return $erreurs;
  43. }

Télécharger

Phase Traiter

Les données des fichiers sont retournées sous forme d’un tableau php

  1. function formulaires_test_upload_traiter(){
  2.         $retours = array('message_ok' => 'Il ne se passe rien.');
  3.        
  4.         $fichiers = _request('_fichiers');
  5.         var_dump($fichiers);
  6.        
  7.         return $retours;
  8. }

Télécharger

retourne

array (size=2)
  ’seul’ => 
    array (size=7)
      ’tmp_name’ => string ’\www\tmp\cvtupload\tes5337.tmp’ (length=49)
      ’name’ => string ’img_9935.jpg’ (length=12)
      ’extension’ => string ’jpg’ (length=3)
      ’vignette’ => string ’plugins-dist/medias/prive/vignettes/jpg.png’ (length=43)
      ’mime’ => string ’image/jpeg’ (length=10)
      ’form’ => string ’test_upload’ (length=11)
      ’infos_encodees’ => string ’+Zo29LoMnf4vtlqe0nX1aDH....’ (length=288)
  ’plusieurs_images’ => 
    array (size=1)
       => 
        array (size=7)
          ’tmp_name’ => string ’\www\tmp\cvtupload\tes1ACC.tmp’ (length=49)
          ’name’ => string ’img_20150621_123152.jpg’ (length=23)
          ’extension’ => string ’jpg’ (length=3)
          ’vignette’ => string ’plugins-dist/medias/prive/vignettes/jpg.png’ (length=43)
          ’mime’ => string ’image/jpeg’ (length=10)
          ’form’ => string ’test_upload’ (length=11)
          ’infos_encodees’ => string ’+Vog9LoMgYfnTGZ+iukgRuUBpJmIl9wiYBqPU6urNf9dKx8U61XioVN2rHjkXVNolJiPpLFQvn/VHFgTivnmjuaUN/p7ijkDWKoYfNZ8xWxGoDe20CpLWz...’ (length=304)