| 12
 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