J'aimerais que les visiteurs puissent m'envoyer un document par l'intermédiare d'un formulaire et j'aimerais le recevoir par mail et que le visiteur en reçoive une copie.
J'ai trouvé un script pouvant faire celà, mais celà ne marche pas, je ne sais pas quoi mettre ici :
$typemime = "???";
$fichier = "???";
$nomdoc = "???";
Je vous mets le code, il doit certainement avoir de grosses erreurs, mais je suis bien dans le forum des débutants
Formulaire :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.texte10 {color: #000000; font-size: 10px; font-family: verdana,arial;}
.texte11 {color: #000000; font-size: 11px; font-family: verdana,arial;}
.texte12 {color: #000000; font-size: 12px; font-family: verdana,arial;}
-->
</style>
<?php
if(isset($_FILES['doc']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'doc', 'rtf', 'pdf', 'xls', 'pps', 'ppt', 'zip', 'rar');
$taille_max = 2097152;
$dest_dossier = '/home/login/public_html/site/docs/';
// utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['doc']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'extension non autorisée !';
}
elseif( file_exists($_FILES['doc']['tmp_name'])
and filesize($_FILES['doc']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 2mo !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['doc']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['doc']['tmp_name'], $dest_dossier . $dest_fichier);
}
}
?>
</head>
<body>
<!-- Erreur ? -->
<?php
if(isset($erreur)){
echo '<p>', $erreur ,'</p>';
}
?>
<FORM METHOD="POST" ACTION="commande3.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2097152" />
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr bgcolor="#FFBB77" class="texte12">
<td>Nom de votre société (ou votre nom et prénom) </td>
<td><input name="nom" type="text" id="nom" value=""></td>
</tr>
<tr bgcolor="#FFBB77" class="texte12">
<td>E-mail</td>
<td><input name="email" type="text" id="email" value=""></td>
</tr>
<tr valign="top" bgcolor="#FFBB77" class="texte12">
<td><legend>Envoi de fichiers</legend>
<!-- champs d'envoi de fichier, de type file --></td>
<td>
<fieldset>
<label for="doc">Doc :</label>
<input type="file" name="doc"/>
<!-- bouton d'envoi -->
<p> </p>
</fieldset></td>
</tr>
<tr bgcolor="#FFBB77">
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Valider">
</div></td>
</tr>
</table>
</body>
</html>
page de validation :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
.Style1 {
font-size: 14;
font-weight: bold;
}
-->
</style>
</head>
<body>
<?php
$nom = $_POST['nom'];
$email = $_POST['email'];
$to = "$email";
$sujet = "Sujet";
$message = "Mon message";
$typemime = "???";
$fichier = "???";
$nomdoc = "???";
$reply = "[email protected]";
$from = "[email protected]";
function mail_attachement_html($to,$sujet,$message,$fichier,$typemime,$nomdoc,$reply,$from){
function mail_attachement_html($to , $sujet , $message , $fichier ,
$typemime , $nomdoc , $reply , $from){
$limite = "_parties_".md5(uniqid (rand()));
$mail_mime = "Date: ".date("l j F Y, G:i")."\n";
$mail_mime .= "MIME-Version: 1.0\n";
$mail_mime .= "Content-Type: multipart/mixed;\n";
$mail_mime .= " boundary=\"----=$limite\"\n\n";
$limite2 = "_parties_".md5 (uniqid (rand()));
//Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML
$texte_simple .= "This is a multi-part message in MIME format.\n\n";
$texte_simple .= "------=$limite\n";
$texte_simple .= "Content-Type: multipart/alternative;\n";
$texte_simple .= "\tboundary=\"----=$limite2\"\n\n";
$texte_simple .= "------=$limite2\n";
$texte_simple .= "Content-Type: text/plain; \tcharset=\"US-ASCII\"\n";
$texte_simple .= "Content-Transfer-Encoding: quoted-printable\n\n";
$texte_simple .= strip_tags(eregi_replace("<br>", "\n", $message));
$texte_simple .= "\n\n";
//le message en html original
$texte_html = "------=$limite2\n";
$texte_html .= "Content-Type: text/html;
charset=\"US-ASCII\"\n";
$texte_html .= "Content-Transfer-Encoding: quoted-printeble\n\n";
$texte_html .= $message;
$texte_html .= "\n\n\n------=$limite2--\n";
//le fichier
$attachement = "------=$limite\n";
$attachement .= "Content-Type: $typemime; name=\"$nom\"\n";
$attachement .= "Content-Transfer-Encoding: base64\n";
$attachement .= "Content-Disposition: attachment;
filename=\"$nom\"\n\n";
$fd = fopen( $fichier, "r" );
$contenu = fread( $fd, filesize( $fichier ) );
fclose( $fd );
$attachement .= chunk_split(base64_encode($contenu));
$attachement .= "\n\n\n------=$limite\n";
return mail($to, $sujet, $texte_simple.$texte_html.$attachement, "Reply-to:
$reply\nFrom:
$from\n".$mail_mime);
}
}
?>
<p>Merci</p>
<p> </p>
<p> </p>
<p> </p>
</body>
</html>
Merci à ceux qui pourront m'aider.