<?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é'; }
<?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'; /* Doit être un fichier valide dans $dossier_photo_PF si vous voulez qu'il s'affiche pour le test */ $avatar_par_defaut = 'avatar_par_defaut.jpg'; /* Initialisation de la classe en dehors de toute condition $_POST (et $_FILES) */ $up = new Telechargement($dossier_photo, 'form1', 'photo'); /* paramétrage extensions autorisées */ $extensions = array('jpg', 'jpeg'); $up->Set_Extensions_accepte($extensions); /* redimensionnement en maximum 200x200 (si nécessaire) */ $up->Set_Redim(200, 200); /* On défini le séparateur de dimension. Permet d'avoir un code générique pour trouver les dimensions des images dans le tableau des résultats */ $separateur_dimensions = 'x'; $up->Set_Separateur_dimImg($separateur_dimensions); /* Utilisée sans argument cette fonction permet de n'afficher que les messages d'erreurs d'upload */ $up->Set_Message_court(); /* !******! Si on souhaite que l'upload d'un fichier soit obligatoire il suffira de décommenter la ligne ci-dessous (dans notre contexte) */ /*$up->Set_Message_champVide('Champ de téléchargement vide. Un fichier est requis !'); */ /* Note * : il faudrait compléter la configuration de la classe avec Set_Renomme_fichier() ou Set_Controle_fichier() si vous souhaitez éviter l'écrasement de fichiers déjà existants sur le serveur. */ /* Petite fonction pratique dans notre contexte pour exploiter le tableau des résultats de l'upload */ function Result_upload($upload_result, $dossier_destination, $index, $num = 0) { return isset($upload_result['resultat'][$num][$dossier_destination][$index]) ? $upload_result['resultat'][$num][$dossier_destination][$index] : null; } /* Condition $_POST d'envoi du formulaire */ if (isset($_POST['form1'])) {
<?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); // redimensionnements $up->Set_Redim('200', '150', array('_min')); $up->Set_Redim('1000', '800', array('_max')); // Renommage incrémentiel en cas de doublons (le contrôle se fera sur nomdufichier_min.jpg) $up->Set_Renomme_fichier('incr'); $up->Upload('reload'); $messages_upload = $up->Get_Tab_message(); $messages_upload_html = null; foreach ($messages_upload as $num) { foreach ($num as $value) { $messages_upload_html .= '<p>- ' . htmlspecialchars($value) . '</p>'; } } $tableau_resultat = $up->Get_Tab_result(); ?> <!doctype html> <html lang="fr"> <head> <meta charset="UTF-8" /> <title>Redimentionnements avec suffixes ou préfixes</title>
<?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'; // Téléchargements de fichiers de nature différentes (photos et pdf) dans des répertoires différents avec si besoin renommage des fichiers, puis redimentionnement des images et traitement php. $form_photo = new Telechargement($dossier_photo, 'formulaire', 'photo', 'get_formulaire'); // Tableau des extensions autorisées (en minuscules). Dans cet exemple, seules les extensions "jpg" et "jpeg" sont autorisées $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()"