1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
<?php
if (!isset($op)) {$op = "saisir"; }
{
global $op;
function saisir()
{
echo " <form method=\"POST\" action=\"index.php?op=envoyer\" enctype=\"multipart/form-data\">\n"
. " De :<input type=\"text\" name=\"e_mail\"><br />\n"
. " A :<input type=\"text\" name=\"d_mail\"><br />\n"
. " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"30000\" />\n"
. " Attachement :<input type=\"file\" name=\"attachement[]\" /><br />\n"
. " Attachement :<input type=\"file\" name=\"attachement[]\" /><br />\n"
. " Attachement :<input type=\"file\" name=\"attachement[]\" /><br />\n"
. " Sujet :<input type=\"text\" name=\"sujet\"><br />\n"
. " <textarea name=\"message\" cols=\"20\" rows=\"7\"></textarea><br />\n"
. " <input type=\"submit\" value=\"Envoyer\">\n"
. " <input type=\"reset\" value=\"Annuler\">\n"
. " </form>\n";
}
function envoyer($_FILES, $e_mail, $d_mail, $sujet, $message)
{
if(!empty($_FILES))
{
define('UPLOAD_DIRECTORY', './uploads/');
$nb_of_files = count($_FILES['attachement']['tmp_name']);
for($i = 0; $i< $nb_of_files; ++$i)
{
# Verification du telechargement du ficher
if(is_uploaded_file($_FILES['attachement']['tmp_name'][$i]))
{
$name = $_FILES['attachement']['name'][$i];
$tmp_name = $_FILES['attachement']['tmp_name'][$i];
$error = $_FILES['attachement']['error'][$i];
$clean_name = strtolower(basename($name));
$clean_name = preg_replace('/[^a-z0-9.-]/', '-', $clean_name);
# Verification du type du fichier Mime ou non
if(function_exists('mime_content_type'))
{
$type = mime_content_type($tmp_name);
}
else
{
$type = $_FILES['attachement']['type'][$i];
}
# Verification du deplacement du ficher vers le dossier definé
if(!move_uploaded_file($tmp_name, UPLOAD_DIRECTORY.$clean_name))
{
$error_string = "Le fichier <b>n'a pas</b> été déplacé correctement";
}
else
{
# encodage des données
# et insertion du " \r\n" apres chaque 76 carteres.
$encoded_content = chunk_split(UPLOAD_DIRECTORY.$clean_name);
# Utilisation du temps .
$num = md5( time() );
# headers Definition .
$header = 'From: ' .$e_mail. ''. "\r\n" ;
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; ";
$header .= "boundary=$num\r\n";
$header .= "--$num\r\n";
# L'action du message
$header .= "Content-Type: text/plain\r\n";
$header .= "Content-Transfer-Encoding:8bit\r\n\n";
$header .= "$message\r\n";
$header .= "--$num\r\n";
# La section de l'attachement
$header .= "Content-Type: multipart/mixed; ";
$header .= "name=" .$name. "\r\n";
$header .= "Content-Transfer-Encoding:base64\r\n";
$header .= "Content-Disposition:attachment; ";
$header .= "filename=" .$name. "\r\n\n";
$header .= "$encoded_content\r\n";
$header .= "--$num--";
# Envoi du message
$retval = mail ($d_mail, $sujet, $message, $header);
if( $retval == true )
{
echo "Message envoyé...";
}
else
{
echo "Erreur...Message non envoyé";
}
}
}
}
}
}
}
switch ($op)
{
case "saisir":
saisir();
break;
case "envoyer":
envoyer($_FILES, $e_mail, $d_mail, $sujet, $message);
break;
default:
saisir();
break;
}
?> |
Partager