Bonjour à tous voilà, je poste ce message car j'ai un souci lors de l'envois d'images (3) issues d'un formulaire et envoyées par mail.
Ce que j'ai fait : j'ai réussi à uploader des images dans un dossier nommé uploadraf, jusque là tout vas bien, j'ai renommé les images up1 up2 et up3 afin que les images uploadées puissent effacer les anciennes afin de ne pas surcharger le dossier si 2 personnes uploadent au même moment
ce n'est pas grave j'aurais toujours leurs mails pour les informer d'une erreur, mes problèmes actuels sont :
- La vérification des extensions ne marche pas peut importe l'extension l'image est quand même envoyée
- les images envoyées même si elles ont un nom différent se retrouvent toujours dans le même ordre (?!)
ainsi si l'image n°1 est envoyée sur le 2eme input, elle se retrouve en position n°1 dans le mail et cela est important pour moi
je ne sais pas pourkoi ... je réexplique j'ai img 1= un chat img 2= un chien img 3= un âne donc je reçois par mail 1:chat 2:chien 3:âne
jusque là tout vas bien mais si j'uploade (par le formulaire) img 1=un âne 2=un chien 3= un chat, je reçois toujours par mail
1:chat 2:chien 3:âne toujours dans cet ordre alors que chaque fichier a un nom distinct ( up1 up2 et up3 ) et je ne comprend pas pourquoi, merci de votre soutient, php c'est pas évident...
Cordialment, Raf
Ce que j'ai fait : j'ai réussi à uploader des images dans un dossier nommé uploadraf, jusque là tout vas bien, j'ai renommé les images up1 up2 et up3 afin que les images uploadées puissent effacer les anciennes afin de ne pas surcharger le dossier si 2 personnes uploadent au même moment
ce n'est pas grave j'aurais toujours leurs mails pour les informer d'une erreur, mes problèmes actuels sont :
- La vérification des extensions ne marche pas peut importe l'extension l'image est quand même envoyée
- les images envoyées même si elles ont un nom différent se retrouvent toujours dans le même ordre (?!)
ainsi si l'image n°1 est envoyée sur le 2eme input, elle se retrouve en position n°1 dans le mail et cela est important pour moi
je ne sais pas pourkoi ... je réexplique j'ai img 1= un chat img 2= un chien img 3= un âne donc je reçois par mail 1:chat 2:chien 3:âne
jusque là tout vas bien mais si j'uploade (par le formulaire) img 1=un âne 2=un chien 3= un chat, je reçois toujours par mail
1:chat 2:chien 3:âne toujours dans cet ordre alors que chaque fichier a un nom distinct ( up1 up2 et up3 ) et je ne comprend pas pourquoi, merci de votre soutient, php c'est pas évident...
Cordialment, Raf
<p>
<form enctype="multipart/form-data" action="envois_gestion_test.php" method="post">
<label for="img"><span class="formulaire">vous devez nous envoyer<br/>
3 photos (au format jpeg ou jpg) du produit <br/>
comme indiqué ci-dessous :</span></label><br/>
<input type="hidden" name="MAX_FILE_SIZE" value="3145728">
<span class="formulaire">- Une photo de l'étiquette :</span><br/>
<input type="file" name="img[]" required><br/>
<span class="formulaire">- Une photo de l'avant du produit :</span><br/>
<input type="file" name="img[]" required><br/>
<span class="formulaire">- Une photo de l'arrière :</span><br/>
<input type="file" name="img[]" required>
</p>
<?php
// déclaration des variables
$civilite = htmlspecialchars ($_POST['civilite']);
$nom = htmlspecialchars ($_POST['nom']);
$prenom = htmlspecialchars ($_POST['prenom']);
$adress = htmlspecialchars ($_POST['adress']);
$ville = htmlspecialchars ($_POST['ville']);
$cp = htmlspecialchars ($_POST['cp']);
$tel = htmlspecialchars ($_POST['tel']);
$email = htmlspecialchars ($_POST['email']);
$choix1 = htmlspecialchars ($_POST['choix1']);
$mark = htmlspecialchars ($_POST['mark']);
$taille = htmlspecialchars ($_POST['taille']);
$choix2 = htmlspecialchars ($_POST['choix2']);
$choix = htmlspecialchars ($_POST['choix']);
$com = htmlspecialchars ($_POST['com']);
//Vérif champs vides
if(!empty($_POST['civilite']))
if(!empty($_POST['nom']))
if(!empty($_POST['prenom']))
if(!empty($_POST['adress']))
if(!empty($_POST['ville']))
if(!empty($_POST['cp']))
if(!empty($_POST['tel']))
if(!empty($_POST['email']))
if(!empty($_POST['choix1']))
if(!empty($_POST['mark']))
if(!empty($_POST['taille']))
if(!empty($_POST['choix2']))
if(!empty($_POST['com']))
if(!empty($_FILES['img']))
{
if (isset($_FILES['img']) AND $_FILES['img']['error'][0] == 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['img']['size'][0] <= 3145728)
{
// Test si l'extension est autorisée
$infosfichier = pathinfo($_FILES['img']['name'][0]);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg');
if (in_array($extension_upload, $extensions_autorisees))
{
// On valide le fichier et on le stocke définitivement - attention si upload même nom = écrasé
move_uploaded_file($_FILES['img']['tmp_name'][0], 'uploadraf/up1.jpg');
move_uploaded_file($_FILES['img']['tmp_name'][1], 'uploadraf/up2.jpg');
move_uploaded_file($_FILES['img']['tmp_name'][2], 'uploadraf/up3.jpg');
//echo "UPLOAD == OK !";
}
//else {echo "Envoyez un fichier du type .jpg svp.";}
}
//else { echo "Envoyez un fichier plus petit que 3.5Mo."; }
}
$destinataire = 'monmail@gmail.com';
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui présentent des bogues.
{ $passage_ligne = "\r\n"; }
else
{ $passage_ligne = "\n"; }
$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());
$sujet = "Proposition d'achat site.com";
$headers = "From: Site site.com <mail@server.com>".$passage_ligne;
$headers .= "Mime-Version: 1.0" .$passage_ligne;
$headers.= "Content-Type: multipart/mixed;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
$content.= $passage_ligne."--".$boundary.$passage_ligne;
$content.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
$content.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$content.= $passage_ligne;
$content.= '
<! DOCTYPE html>
<html lang=\"fr\">
<head>
<meta Content-Type:text/css; />
<style type=\"text/css\">
span {
display: block;
width: 45%;
height: 100%;
padding: 2% 2% 3% 2%;
font-family: arial,sans-serif;
font-size: 14px;
font-weight: bold;
border: 4px solid grey;
border-radius: 6px;
color: black; }
b {
font-size: 14px;
color: #3362B4;
text-decoration: underline; }
p {
font-family: arial,sans-serif;
font-size: 14px;
font-weight: bold;
color: black;
margin: 0%; }
i {
font-size: 12px;
color: grey;
}
img {
display: block;
width:12em;
height:auto;
}
</style>
</head>
<body>
<span>
<b>Une personne désire vendre sur votre site</b><br/>
<p>Proposition de : '.$civilite.' '.$nom.' '.$prenom.'</p><br/>
<b>Ses coordonnées :</b><br/>
<p>
'.$nom.' '.$prenom.'<br/>
'.$adress.'<br/>
'.$cp.' '.$ville.'<br/>
Tel : '.$tel.'<br/>
Mail : '.$email.'<br/>
<i>Cliquez sur l\'adresse mail ci-dessus pour répondre</i>
</p><br/>
<b>Sa proposition de vente :</b><br/>
<p>Type de vêtement : '.$choix1.'<br/>
Marque : '.$mark.'<br/>
Taille : '.$taille.'<br/>
Etat produit : '.$choix2.'
Rachat/Dépôt-vente : '.$choix.'
</p><br/>
<b>Commentaire ou prix de vente souhaité :</b><br/>
<p>'.$com.'</p><br/>
<b>Photo de l\'étiquette produit :</b><br/><br/>
<img src="http://site.com/uploadraf/up1.jpg" /><br/>
<b>Photo avant :</b><br/><br/>
<img src="http://site.com/uploadraf/up2.jpg" /><br/>
<b>Photo arrière :</b><br/><br/>
<img src="http://site.com/uploadraf/up3.jpg" /><br/>
</span>
</body>
</html>';
$content.= $passage_ligne;
$content.= $passage_ligne;
if (mail($destinataire,$sujet,$content,$headers))
{ echo '
<html style="background-color: #021391;">
<head>
<meta charset= "utf-8">
</head>
<body>
<h1 style="text-align:center;
font-size: 3em;
color: rgb(252, 234, 33);
margin: 20% 0 0% 0;
text-shadow: 2px 2px 6px black;
">Message envoyé !</h1>
</body>
</html> ' ;
header ("Refresh: 1;URL=http://site.com");
}
}
else {
{ echo '
<html style="background-color: #021391;">
<head>
<meta charset=" UTF-8">
</head>
<body>
<h1 style="text-align:center;
font-size: 3em;
color: rgb(252, 234, 33);
margin: 20% 0 0% 0;
text-shadow: 2px 2px 6px black;"
>Une erreur s\'est produite, réessayez s\'il vous plait .</h1>
</body>
</html> ' ;
header ("Refresh: 2;URL=http://site.com/index.php?controller=envois");
}
}
?>