<?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'])) {
Ejemplo n.º 3
0
<?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()"