Bonjour,
J'ai récupéré un script d'enfoi de formulaire avec pièce jointe sur internet que j'ai adapté.
Le problème est que si une personne envoi un fichier de plus de 200 ko, ce fichier est enregistrer sur mon serveur et je ne recois pas de mail.
Par contre, si le fichier joint fait moins de 200 ko, le fichier joint est inclut dans un message que je recoit et n'est pas enregistré sur mon serveur.
Mon hébergeur est Free, dont sa fonction mail () (qui est réactivée) n'a pas de limite de taille d'envoi de mail.
Pouvez vous m'aider
SVP
Merci
vali103
Voici ma source :
formulaire.php :
<html>
<head>
<script language="javascript">
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="Namo WebEditor v6.0">
<title>Formulaire</title>
</head>
<body bgcolor="#99CCFF"><form enctype="multipart/form-data" name="formulaire" method="post" action="envoi.php" onSubmit="return verif2(this.mail.value)">
<table width="100%" height="305" border="0" bordercolor="#FF0000">
<tr>
<td height="49" colspan="3"> <p align="center"> <font face="Comic Sans MS"></font></p>
<p align="center"><strong><em><u><font face="Comic Sans MS" color="red">ENTREZ
VOS INFORMATIONS CI-DESSOUS:</font></u></em></strong></p>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td><div align="right"><font face="Comic Sans MS">Nom :</font></div></td>
<td colspan="2"><font face="Comic Sans MS"><input type="text" name="nom"></font></td>
<td></td>
<td></td>
</tr>
<tr>
<td><div align="right"><font face="Comic Sans MS">Prénom :</font></div></td>
<td colspan="2"><font face="Comic Sans MS"><input type="text" name="prenom"></font></td>
<td></td>
<td></td>
</tr>
<tr>
<td><div align="right"><font face="Comic Sans MS">Email :</font></div></td>
<td colspan="2">
<p><font face="Comic Sans MS"><input name="expediteur" type="text" size="40"></font></p>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td><div align="right">
<p><font face="Comic Sans MS"> Vos photos :</font></div></td>
<td><input type=file name="photos" size="40" MAXLENGTH="80">
</td>
<td></td>
</tr>
</p>
</div> </td>
<td></td>
<tr>
<td>
<p align="right"><font face="Comic Sans MS">Titre de la photo :</font></p>
</td>
<td><font face="Comic Sans MS"><textarea name="titre" rows="5" cols="31"></textarea></font></td>
<td><font face="Comic Sans MS"> </font></td>
<tr>
<td> </td>
<td>
<p align="center"><font face="Comic Sans MS"><input type="reset" name="Submit2" value="Effacer">
<input type="submit" name="Submit" value="Envoyer">
<input type="hidden" name="sujet" value="Nouvelle photo"><input type="hidden" name="destinataire" value="christophelaure@free.fr">
</font></p>
</td>
<td> </td>
</table>
</form>
</body>
</html>
et envoi.php
<html>
<head>
<title>Formulaire</title>
<meta name="generator" content="Namo WebEditor v6.0">
</head>
<body bgcolor="#B7B660" text="black" link="blue" vlink="purple" alink="red">
<p align="center">
<script language="JavaScript">
</script>
<?
$name_file = $_FILES['photos']['name'];
$source=$_FILES['photos']['tmp_name'];
move_uploaded_file($source, "./".$name_file);
$extension=get_extension($name_file);
$type="image/png";
if($extension=="gif")
{
$type2="image/gif";
}
else if($extension=="bmp")
{
$type2="image/bmp";
}
else if($extension=="jpg")
{
$type2="image/jpg";
}
else if($extension=="jpeg")
{
$type2="image/jpeg";
}
function get_extension($filename)
{
$parts = explode('.',$filename);
$last = count($parts) - 1;
$ext = $parts[$last];
return $ext;
}
if($_POST['destinataire']!="")
{
$boundary = "-----=".md5(uniqid(rand()));
$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: $type; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= $_POST['formulaire'];
$msg .= "\r\n";
$msg .= "\r\n";
$msg .= Nom__.$_POST['nom'];
$msg .= "\r\n";
$msg .= Prenom__.$_POST['prenom'];
$msg .= "\r\n";
$msg .= Mail__.$_POST['expediteur'];
$msg .= "\r\n";
$msg .= Commentaires__.$_POST['titre'];
$msg .= "\r\n";
if($name_file!="")
{
$file = $name_file;
$fp = fopen($file, "rb");
$attachment = fread($fp, filesize($file));
fclose($fp);
$attachment = chunk_split(base64_encode($attachment));
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: $type2; name=\"$file\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
$msg .= "\r\n";
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$boundary--\r\n";
}
$destinataire = $_POST['destinataire'];
$expediteur = $_POST['expediteur'];
mail($_POST['destinataire'], $_POST['sujet'], $msg, "Reply-to: ".$_POST['reponse']."\nFrom: ".$_POST['expediteur']."\n".$header);
}
if($name_file!="")
{
unlink($name_file);
}
$envoi = @mail;
if( $envoi )
{ echo "Mail bien envoyé"; }
else{ echo "Problème lors de l'envoi"; }
?>
</p>
<p> </p>
<p> </p>
<p align="center"> </p>
</body>
</html>