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é';
    }
    /* Pour éviter un message du navigateur en cas de rafraichissement de la page */
    $up->Get_Reload_page();
}
$message_enregistrement_html = isset($_SESSION['enregistrement']) ? $_SESSION['enregistrement'] : null;
unset($_SESSION['enregistrement']);
예제 #2
0
L'adresse des dossiers passés en paramètre à la fonction d'upload doit être fournie par rapport à la racine du serveur.

En utilisation courante, suivant que vous êtes sur un serveur distant ou sur un serveur d'évaluation, et en supoosant par exemple que le dossier 'PDF' soit situé à la racine du site, vous devriez indiquer :

$dossier_pdf = 'PDF';
ou
$dossier_pdf = 'dossier_du_site/PDF';

Dans ces exemples le chemin des dossiers est défini automatiquement avec "adresses_dossiers.php" pour les tests.
*/
$up = new Telechargement($dossier_pdf, 'form1', 'doc');
$extensions = array('pdf', 'txt', 'doc', 'docx', 'odt', 'jpg', 'jpeg', 'png', 'gif');
$up->Set_Extensions_accepte($extensions);
//$up->Set_Message_court('upload ok');
//$up->Set_Controle_fichier();
$up->Upload('reload');
$messages = $up->Get_Tab_message();
?>
<!doctype html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<title>Exemple basique</title>
<style type="text/css">
body {font-family:Arial, Helvetica, sans-serif; font-size:12px;}
</style>
</head>
<body>

<form enctype = "multipart/form-data" action = "#" method = "post">	  
<input name = "doc" type = "file" />				 
예제 #3
0
 // 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'];
 //----------------------------------------------------------------------------------------------------------------------------------------------------
 /*
  * TO DO :
  * - (* potentiellement terminé *) Recuperer l'adresse mail de l'employeur grace a l'id du stage $_REQUEST['id']
  * - Crée un mail en rajoutant les fichiers téléchargés au centent-type (piece jointe)
  * - envoyer le mail  mail($destinataire, $titreDuMail, $message, $entete);
  * - Ajouter le stage à la listes de stage de l'etudiant (Ajoute ue ligne sur la table postuler en meme temps)
  * - Supprimer le fichier grace à la class File
  */
 // récupérer mail
예제 #4
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';
// 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
{              
$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();
// Les deux lignes ci-dessous devraient logiquement se trouver à l'intérieur la condition "if (isset($_POST...)" pour servir par exemple à alimenter une bdd. Elles sont ici uniquement pour démonstration et afficher la structure du taleau de résultat en bas de page.
$transfert_form_photo = $form_photo->Get_Tab_upload();