Problème de récupération d'image dans l'ordre par mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de récupération d'image dans l'ordre par mail

Re: Problème de récupération d'image dans l'ordre par mail

par oooopppp » 28 mars 2014, 17:34

ok merci !
c'est tres complet,
je vais me débrouiller autrement, je vais essayer d'uploader dans 3 dossiers différents,
bizarre quand même le fait que je reçoive par mail les images par ordre de grandeur et
non ordonnées selon les valeurs de input ...
Encore merci pour la doc ! =D>

Re: Problème de récupération d'image dans l'ordre par mail

par moogli » 27 mars 2014, 16:38

php ne renomme rien, en dehors du fait que l'upload est fait dans un répertoire temporaire du serveur web (et c'est du au serveur web pas a php).

ensuite il ne fait que ce que tu lui demande ;)

pour info AB propose une classe d'upload avec pas mal d'outils qui pourrait surement d'aider la dessus ;)


@+

Re: Problème de récupération d'image dans l'ordre par mail

par oooopppp » 27 mars 2014, 16:30

Salut !
merci de ton aide, toutefois je ne peux pas créer un dossier par client car ça serait trop confus,
c'est un script qu tourne sous prestashop et le pote qui vas le gérer n'as pas de notions de client ftp (il veut pas se prendre la tête)
le plus surprenant c'est que j'ai essayé de donner un nom distinct à chaque input et rien à faire php m'envoie toujours le photos dans le même
ordre (on dirait qu'il va du plus petit au plus grand en octets...)
je vais essayer de stocker par contre chaque image dans un dossier différent voir ce que ça donne,
franchement c'est bizarre cette attitude de php de renvoyer et de renommer tout seul les photos, je ne comprend pas ...
encore merci, si qqun veut mettre son grain de sel, je suis preneur !! :)

Re: Problème de récupération d'image dans l'ordre par mail

par moogli » 27 mars 2014, 15:56

salut,

pour faire simple je te conseil de :
- créer une dossier par personne et par produit, tu auras une arborescence simple et un suivis d'autant plus ;) (sinon passe les photos en pièces jointes du mail, amis attention à la taille)
- nommer chaque champs d'upload avec un nom correct(tu n'as pas besoin d'utiliser un tableau essai avec : etiquette, avant, et dos).
- tu nomme chaque image en fonction de son utilité (et l'e-mail reste tel qu'il est au nom des images pret).


@+

Problème de récupération d'image dans l'ordre par mail

par oooopppp » 26 mars 2014, 20:01

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
<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 = '[email protected]';
      
    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 <[email protected]>".$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");
                }          
    }
?>