<?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'; // Déclaration de la classe avec envoi des paramètres (cf doc) $form = new Telechargement($dossier_photo, '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 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('reload'); // 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']; ?> <!doctype html> <html lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Téléchargement de fichiers, upload multiple avec complément fonctions javascript</title> <script type="text/JavaScript"> <!-- function Attente_Load(id_attente)// écrit patientez durant le téléchargement {
$erreur_dossier = null; // Si le formulaire est envoyé on regarde si $_POST['categorie'] fait partie du tableau de dossiers autorisés if (isset($_POST['form_envoi'], $_POST['categorie'])) { if (in_array($_POST['categorie'], $dossiers_autorise)) { $dossier = $_POST['categorie']; } else { $erreur_dossier = 'Vous devez choisir le dossier'; } } if (empty($erreur_dossier)) { //Utilisation de la classe de téléchargement (cf la doc pour plus de précisions) $up = new Telechargement($dossier, 'form_envoi', 'fich_upload', 'get_form'); //Extensions autorisées $up->Set_Extensions_accepte($extensions); // En cas de doublon sur le serveur, les fichiers seront renommés avec une méthode incrémentale. $up->Set_Renomme_fichier('incr'); // Envoi des données et traitement de l'upload avec rechargement de la page pour éviter un multi upload en cas de rafraichissement de la page. $up->Upload('reload'); // Récupération des messages d'information $resultat = $up->Get_Tab_message(); } ?> <!doctype html> <html lang="fr"> <head> <meta charset="UTF-8" /> <title>Dossier de destination défini dans le formulaire</title> <style type="text/css"> body {font-family:Arial, Helvetica, sans-serif; font-size:12px;} </style>
$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..." $messages_form_pdf = $form_pdf->Get_Tab_message(); $messages_form_photo = $form_photo->Get_Tab_message();