<?php //nom du répertoire où le fichier va être téléchargé //sur le serveur $serverUploadPath = "../exercises/upload/"; //-------------------------------------------------------- //
//On regarde si le formulaire a été soumis if (!isset($_REQUEST["submit"])) { //si pas submit, on construit le formulaire ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <link rel="icon" type="image/png" href="../images/favicon.png" /> </head> <body> <table border="0" width="60%" align="center"> <tr><td valign="top"> <table> <form action= "../commons/show_solutions.php?exercise= lesson_20_a3_envoyer_un_fichier.php" method="post" enctype="multipart/form-data"> <!--dans la pratique, on mécrira plutôt : <form action="<?php echo $_SERVER['PHP_SELF'] ?>" ... --> <tr><td><b>Votre nom : </b></td><tr></tr><td> <input type="text" size="23" name="Name"></td></tr> <tr><td><b>Votre Email : </b></td></tr><tr><td> <input type="text" size="23" name="mailFrom"></td></tr> <tr><td><b>Fichier à télécharger</b></td></tr><tr><td> <input name='toUpload' type='file'></td> <tr><td><b>Commentaires: </b></td></tr><tr><td> <textarea name="Message" cols="20" rows="2"></textarea> </td></tr> <tr><td><input type="reset" name="reset" value=" Effacer "></td> </tr><tr><td align=left> <input type="submit" name="submit" value=" Envoyer " > </form> </td></tr></table></table> </body> </html> <?php } else { global $serverUploadPath ; // ----------------------------- Upload--------- // $FileName=$_FILES["toUpload"]["name"]; $tempFileName=$_FILES["toUpload"]["tmp_name"]; $size=$_FILES["toUpload"]["size"]; $type=$_FILES["toUpload"]["type"]; $new_FileName = time() . "-" . $FileName; $new_FileName = str_replace(" ","_",$new_FileName);
if (move_uploaded_file ($tempFileName,$serverUploadPath.$new_FileName)) { echo "Fichier envoyé sur le serveur <br/>"; echo "Nom du fichier : $FileName<br/>"; echo "Nom temporaire : $tempFileName<br/>"; echo "Nouveau nom : $new_FileName<br/>"; echo "Emplacement : <br/>$serverUploadPath<br/>"; echo "Taille : $size<br/>"; echo "Type : $type<br/>"; //si email valide envoi message $mailFrom = $_REQUEST['mailFrom']; $mailAddressOK = isEmailAddress($mailFrom); if ($mailAddressOK) { $Message = $_REQUEST['Message']; echo "Envoi du courrier de remerciements <br/>"; // ---------Construction du mail------ // $sujet = "Merci pour votre fichier\n"; $message = "Fichiers téléchargés dans le dossier: ". "http://www.atelierphp.net/exercises/upload <br/>"; if(!mail($mailFrom,$sujet,$message)) { print "Erreur lors de l'envoi du message<br/>"; } else { echo "Votre message a été envoyé <br/>"; } } } else { echo "Erreur lors du transfer du fichier"; }
} //******************fonctions //pour savoir si l'email fourni a un format valide function isEmailAddress($field) { $pattern = "/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])". "*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/"; if(preg_match($pattern, $field)) { echo "L'adresse email est correcte <br/>"; return 1; } else { echo "L'adresse email semble erronée, pas d'envoi de sourrier <br/>"; return 0; } }