// 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..."