Problème envoie email avec fichier
Posté : 29 juin 2018, 11:22
Bonjour a tous,
j'ai un petit souci quand j'envoie un email je reçois l'email mais vide les fichier sont noter noname sans extension rien
et voici mon script des idée sur mon ou mes erreur
merci d'avance
j'ai un petit souci quand j'envoie un email je reçois l'email mais vide les fichier sont noter noname sans extension rien

et voici mon script des idée sur mon ou mes erreur
merci d'avance
<!DOCTYPE html>
<html>
<head>
<!--<meta http-equiv="refresh" content="20; url=be_a_model" />-->
</head>
<body>
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$DESTINATAIRE = '[email protected]';
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $DESTINATAIRE))
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}
//creation de la boudary(frontiere)
$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());
$name = $_POST['nom'];
$email = $_POST['email'];
$messageuser = $_POST['message'];
$photo = $_FILES['photo']; //noms lier : extension fileextension dossier attachement
$photo2 = $_FILES['photo2']; //noms lier : extension1 fileextension1 dossier1 attachement1
$sujet = "candidature";
$msg = 'de $name: \n $message .';
$extensions = array('jpg', 'png', 'mov', 'mp4', 'pdf');
$fileextension = pathinfo($_FILES['photo']['name'], PATHINFO_EXTENSION);
if(!in_array($fileextension, $extensions))
{
echo '<h1>erreur dans le type de fichier</h1>';
}
else
{
$dossier = 'upload/';
$fichier = basename($_FILES['photo']['name']);
if (move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) {
//echo 'Upload effectué avec succès !';
$files = fopen($dossier . $fichier, "r"); //on ouvre le fichier
$attachement = fread($files, filesize($dossier . $fichier)); //on lit le fichier
fclose($files); //et on referme le fichier
unlink($dossier . $fichier); //le fichier a été lu donc on peut le supprimer
$attachement = chunk_split(base64_encode($attachement)); //on encode le fichier en base64 et on le fait respecter la norme RFC 2045
$file0name = $_FILES['photo']['name']; //on recupere le fichier pour redonner son noms
$ifjpg = "jpg";
$ifpng = "png";
$ifmov = "mov";
$ifmp4 = "mp4";
$ifpdf = "pdf";
if ($fileextension == $ifjpg)
{
$typefile = "image/jpeg";
echo("jpg");
}
elseif ($fileextension == $ifpng)
{
$typefile = "image/png";
echo("png");
}
elseif ($fileextension == $ifmov)
{
$typefile = "video/quicktime";
echo("mov");
}
elseif ($fileextension == $ifmp4)
{
$typefile = "video/mp4";
echo("mp4");
}
elseif ($fileextension == $ifpdf)
{
$typefile = "application/pdf";
echo("pdf");
}
}
else {
echo 'Echec de l\'upload !';
}
}
$extensions1 = array('jpg', 'png', 'mov', 'mp4', 'pdf');
$fileextension1 = pathinfo($_FILES['photo2']['name'], PATHINFO_EXTENSION);
if(!in_array($fileextension1, $extensions1)) //test de l'extension du fichier
{
echo '<h1>erreur dans le type de fichier</h1>'; //erreur de type de fichier
}
else //type de fichier valider
{
$dossier1 = 'upload/'; //dossier de copie du fichier
$fichier1 = basename($_FILES['photo2']['name']); //photo2 devient fichier1
if (move_uploaded_file($_FILES['photo2']['tmp_name'], $dossier1 . $fichier1)) { //on copie le fichier dans le dossier sous son noms original
// echo 'Upload effectué avec succès !'; //fichier copier
$files1 = fopen($dossier1 . $fichier1, "r"); //on ouvre le fichier
$attachement1 = fread($files1, filesize($dossier1 . $fichier1)); //on lit le fichier
fclose($files1); //et on referme le fichier
unlink($dossier1 . $fichier1); //le fichier a été lu donc on peut le supprimer
$attachement1 = chunk_split(base64_encode($attachement1)); //on encode le fichier en base64 et on le fait respecter la norme RFC 2045
$file1name = $_FILES['photo2']['name']; //on recupere le fichier pour redonner son noms
$ifjpg = "jpg";
$ifpng = "png";
$ifmov = "mov";
$ifpdf = "pdf";
$ifmp4 = "mp4";
if ($fileextension1 == $ifjpg)
{
$typefile1 = "image/jpeg";
echo(" jpg");
}
elseif ($fileextension1 == $ifpng)
{
$typefile1 = "image/png";
echo(" png");
}
elseif ($fileextension1 == $ifmov)
{
$typefile1 = "video/quicktime";
echo(" mov");
}
elseif ($fileextension1 == $ifmp4)
{
$typefile1 = "video/mp4";
echo(" mp4");
}
elseif ($fileextension1 == $ifpdf)
{
$typefile1 = "application/pdf";
echo(" pdf");
}
}
else {
echo 'Echec de l\'upload !'; //erreur de copie
}
}
// echo '<p>' . $name . '</p>';
// echo '<p>' . $email . '</p>';
// echo '<p>' . $message . '</p>';
//echo '<p>' . $attachement . '</p>';
//echo '<p>' . $attachement1 . '</p>';
//header de l'email
//$header = "From: <" . $email . ">" . $passage_ligne;
$header= "Reply-to: <" . $email . ">" . $passage_ligne;
$header.= "MIME-Version: 1.0" . $passage_ligne;
$header.= "X-priority : 3" . $passage_ligne;
$header.= "Content-Type: multipart/mixed;" . $passage_ligne . "boundary= " . $boundary . $passage_ligne;
// echo '<p>' . $header . '</p>';
//message de l'email
$message = $passage_ligne . "--" . $boundary_alt . $passage_ligne;
$message.= "Content-Type: text/html; charset= utf-8" . $passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit" . $passage_ligne . $passage_ligne;
$message.= "<html><head></head><body><p>nom : $name</p> <p>email : $email</p><p>$messageuser</p></body></html>";
$message.= $passage_ligne . "--" . $boundary_alt . "--" . $passage_ligne;
// echo '<p>' . $messageuser . '</p>';
$message.= $passage_ligne. "---" . $boundary . $passage_ligne;
$message.= "Content-Type: " . $typefile ."; name= " . $file0name . $passage_ligne; //on declare le fichier
$message.= "Content-Transfer-Encoding: base64".$passage_ligne; //on lui dit qu'il a précedement été encodé en base64
$message.= "Content-Disposition: attachment; filename= " . $file0name . $passage_ligne; //on lui dit que le fichier est un fichier joint et son nom
$message.= $passage_ligne . $attachement . $passage_ligne . $passage_ligne; //on integre le fichier
$message.= $passage_ligne. "---" . $boundary . $passage_ligne;
$message.= "Content-Type: " .$typefile1 ."; name= " . $file1name . $passage_ligne; //on declare le fichier
$message.= "Content-Transfer-Encoding: base64"; //on lui dit qu'il a précedement été encodé en base64
$message.= "Content-Disposition: attachment; filename= " .$file1name . $passage_ligne; //on lui dit que le fichier est un fichier joint et son nom
$message.= $passage_ligne . $attachement1 . $passage_ligne . $passage_ligne; //on integre le fichier
$message.= $passage_ligne. "--" . $boundary . "--" . $passage_ligne;
$message.= $passage_ligne. "--" . $boundary . "--" . $passage_ligne;
// echo ("<p>" . $fichierterminer . "</p>");
// echo ("<p>" . $fichierterminer1 . "</p>");
echo($message);
mail($DESTINATAIRE, $sujet, $message, $header);
?>
</body>
</html>