// initialise la variable $user
require_once "init.inc.php";
require 'class/upload/Classe_Upload.php';
require 'class/upload/adresses_dossiers.php';
if ($user instanceof Etudiant) {
    /*TO DO :
     * - Restreindre les fichier à une taille maximun et modifier le controle pour le fichier soit un PDF
     */
    // Module d'upload -----------------------------------------------------------------------------------------------------------------------------------
    // Déclaration de la classe avec envoi des paramètres (cf doc)
    $form = new Telechargement($dossier_pdf, 'envoi_file', 'photo', 'get_form');
    // option : contrôle que le fichier est une image de type gif, jpg, jpeg ou png (et retourne ses dimensions dans le tableau des résultats - tableau non exploité dans l'exemple ci-dessous)
    //$form->Set_Controle_dimImg ();
    // option : contrôle que le fichier est un pdf
    $extensions = array('pdf');
    $form->Set_Extensions_accepte($extensions);
    //Controle la taille du fichier uploader
    $form->Set_Max_poidsFicher('1 Mo');
    //Defini le nom des fichier téléchargé
    $nomFichier = time() . '';
    $form->Set_Nomme_fichier($nomFichier, 'pdf');
    //option pour renommer le fichier en mode incrémentiel si un fichier de même nom existe déjà sur le serveur
    $form->Set_Renomme_fichier('incr');
    //Téléchargement sans traitement php supplémentaire -> on spécifie un rechargement de la page suite au téléchargement en indiquant un argument non nul ex 'reload' dans la fonction d'Upload.
    $form->Upload();
    // Enregistrement des messages de contrôle
    $messages_form = $form->Get_Tab_message();
    $config_serveur = $form->Return_Config_serveur('tableau');
    $max_fichier_serveur = $config_serveur['upload_max_filesize'];
    $max_post_serveur = $config_serveur['post_max_size'];
    //----------------------------------------------------------------------------------------------------------------------------------------------------
<?php

//Si on travaille en utf-8 (recommandé)
header('Content-type: text/html; charset=UTF-8');
// Appel de la classe
require '../Classe_Upload.php';
require '../adresses_dossiers.php';
$up = new Telechargement($dossier_photo, 'form1', 'photo');
/* paramétrage extensions autorisées */
$extensions = array('jpg', 'jpeg');
$up->Set_Extensions_accepte($extensions);
/* redimensionnement (si nécessaire) en maximum 100x100 */
$up->Set_Redim('200', '200');
/* message simplifié en retour pour le visiteur (par exemple) */
$up->Set_Message_court(': téléchargement effectué');
/* Condition $_POST d'envoi du formulaire */
if (isset($_POST['form1'])) {
    $pseudo = trim($_POST['pseudo']);
    if ($pseudo != '') {
        /* Upload du fichier */
        $up->Upload();
        /* Récupération du tableau des résultats d'upload */
        $tab_result = $up->Get_Tab_upload();
        /* Si un seul champ unique de type file on peut récupérer le nom du fichier ainsi : */
        $nom_fichier = isset($tab_result['resultat'][0][$dossier_photo]['nom']) ? $tab_result['resultat'][0][$dossier_photo]['nom'] : 'avatar_par_defaut.jpg';
        /* Enregistrement du nom du fichier et du pseudo en bdd... */
        /* ... */
        $_SESSION['enregistrement'] = 'Pseudo "' . $pseudo . '" et avatar "' . $nom_fichier . '" enregistrés';
    } else {
        $_SESSION['enregistrement'] = 'Le pseudo doit être renseigné';
    }
$extensions_photo = array('jpg', 'jpeg');
// Envoi du tableau des extensions autorisées
$form_photo->Set_Extensions_accepte($extensions_photo);
// Images originales téléchargées dans le répertoire "PHOTO" + mêmes images redimensionnées en max 950 x 800 téléchargées dans le répertoire "PHOTO_GF" + mêmes images redimensionnées en max 200 x 200 téléchargées dans le répertoire "PHOTO_PF"
$form_photo->Set_Redim('950', '800', $dossier_photo_GF);
$form_photo->Set_Redim('200', '200', $dossier_photo_PF);
// Contrôle de l'existence d'un fichier de nom identique dans le répertoire de destination et si oui renommage  du fichier téléchargé avec un suffixe unique.
$form_photo->Set_Renomme_fichier();
// Téléchargement sans reload de la page
$form_photo->Upload();
// Dans le même formulaire un fichier pdf à télécharger dans le répertoire "PDF"
$form_pdf = new Telechargement($dossier_pdf, 'formulaire', 'pdf', 'get_formulaire');
// Tableau des extensions autorisées (en minuscules). Dans cet exemple, seules les extensions "pdf" sont autorisées
$extensions_pdf = array('pdf');
// Envoi du tableau des extensions autorisées
$form_pdf->Set_Extensions_accepte($extensions_pdf);
// Contrôle de l'existence d'un fichier de nom identique dans le répertoire de destination et si oui renommage du fichier téléchargé avec un suffixe incrémentiel
$form_pdf->Set_Renomme_fichier('incr');
// Téléchargement sans reload de la page
$form_pdf->Upload();
// Le reload de la page sera effectué à la fin du traitement php en utilisant la fonction "Get_Reload_page()"
if (isset($_POST['formulaire'])) {
    //Récupération des résultats
    //$transfert_form_photo = $form_photo->Get_Tab_upload ();
    //$transfert_form_pdf = $form_pdf->Get_Tab_upload ();
    // Voir la structure du tableau de résultat, et un exemple de récupération en fin de script
    //enregistrement des données en bdd etc.
    // Rechargement de la page pour éviter un multiple post en cas de rafraichissement de la page par le visiteur
    $form_photo->Get_Reload_page();
}
// A noter que l'appel à la fonction Get_Tab_message() doit se faire APRES la condition "if (isset($_POST..."