Afficher seulement si lors de cette réponse j'ai upload l'image

Résolu/Fermé
Soden - 1 juin 2021 à 16:16
 Soden - 2 juin 2021 à 10:49
Bonjour,
je dois faire un site qui comprend un formulaire. Mon problème est lié au fait que l'utilisateur peut ou non, upload une image. Le but est de prendre les réponses du formulaires et de les afficher sur une autre page. Tout marche mais, pour faire l'envoie d'image, je l'enregistre et je l'appel (je la renomme et la met dans un dossier) dans le fichier.
Si la personne ne veut pas mettre d'image ça mettra la dernière image utilisé, or je voudrait que ça ne remplisse rien.
Comment faire ?
Je cherche quelque chose différent de !empty dans le if vu qu'il y aura eu des requêtes et que ça ne marchera donc pas.
Puis-je faire un boolean, et lorsqu'on upload une photo, il devient false ou true ?
Sinon avez vous une idée ?

Configuration: Windows / Chrome 90.0.4430.212
A voir également:

4 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
1 juin 2021 à 16:21
Bonjour,

pour faire l'envoie d'image, je l'enregistre et je l'appel (je la renomme et la met dans un dossier) dans le fichier.
Si la personne ne veut pas mettre d'image ça mettra la dernière image utilisé, or je voudrait que ça ne remplisse rien.

Ce n'est pas clair du tout....
Si il met une image... ben.. tu l'upload ... et si il n'en met pas.. ben ça ne rempli rien...
Soit il y a un truc que tu n'as pas su nous expliquer... soit la logique de ton code est alambiquée ..

Pour commencer, il serait bien de nous montrer le code en question ( si il contient plusieurs fichiers, merci d'indiquer au début de chaque code à quel fichier il fait référence )

NB: Pour poster ton code sur le forum, tu devras utiliser les balises de code :
Explications ( à lire ENTIEREMENT !! ) disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Merci de ta réponse
oui désolé j'ai du mal à expliquer, je dois faire un truc compliqué parce que je ne peux pas utiliser de base de données x)
en gros, l'utilisateur upload une image sur une page, je l'enregistre dans un dossier image quand j'appuis sur envoyé le formulaire. ça me redirectionne vers method-post.php et ça l'affiche. Sauf que ça affichera toujours les images avec le nom que je leurs ai donné. Dès que quelqu'un réremplit le formulaire et met une photo, ça écrase la photo précédente et l'enregistre avec le même nom, sinon, ça affiche celle d'avant mais je ne veux pas.


1ère page, index.php
<!-- Déclaration de la page HTML -->
<!DOCTYPE html>
<html lang="fr" class="no-js">
  <head>
    <title>Site pour les comptes rendu des chefs </title>
    <!-- Déclaration des meta -->
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	  <meta name="description" content="Site qui permet les chefs de projet dde faire les comptes rendu pour le 5S"/>
    <meta name="keywords" content="Kuehne Nagel, Compte Rendu" />
    <meta name="viewport" content="width=device-width initial-scale=1.0">

    <!-- Relie les css, le style -->
    <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous">
    <link href="css/style.css" rel="stylesheet">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <link rel="shortcut icon" href="favicon.ico">
    <link rel="stylesheet" type="text/css" href="css/normalize.css" />
    <link rel="stylesheet" type="text/css" href="css/flickity.css" />
    <link rel="stylesheet" type="text/css" href="css/main.css" />
    
    <!-- Script JavaScript -->
    <script src="js/modernizr.custom.js"></script>
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  </head>
  <!-- BODY -->
  <body class="cda-noimg cda-removeleft">
    <!-- Titre et Sous-Titre -->
    <h1 class="codrops-title">Kuehne Nagel <span>5S</span></h1><br><br> 
    <h5>    Compte Rendu Des Chefs de Projet</h5><br>
    <!-- Image bannière/logo -->
    <div class="testbox" style=" background-color:#3a3f3c81";>
      <img class="mySlides" src="images/logo4.png" alt="custom_html_banner1" style="width:100%; background:#4c4e4e67; width: 1920px; height: 500px;">
    </div>
    <!-- div qui contient le formulaire et toutes les divs de style -->
    <div class="form-body">
      <div class="row">
        <div class="form-holder">
          <div class="form-content" >
            <div class="form-items" >
              <!-- Déclaration du formulaire -->
              <form action="method-post.php"  method="post" style="background: #152733" enctype="multipart/form-data">
                <!-- Demande du prénom -->
                <div class="col-md-12">
                  <input class="form-control" type="text" name="name" placeholder="Prénom" required./>
                  <div class="valid-feedback">Le prénom est valide!</div>
                  <div class="invalid-feedback">Le prénom n'est pas valide!</div>
                </div>
                <!-- Demande du nom -->
                <div class="col-md-12">
                  <input class="form-control" type="text" name="nom" placeholder="Nom" required ./>
                  <div class="valid-feedback">Le nom est valide!</div>
                  <div class="invalid-feedback">Le nom n'est pas valide!</div>
                </div>
                <!-- Demande à l'utilisateur de choisir la zone qu'il occupe -->
                <div class="col-md-12">
                  <select class="form-select mt-3" name="zone" required  >
                    <option selected >--Choisir Sa Zone--</option>
                    <option value="un">Zone 1</option>
                    <option value="de">Zone 2</option>
                    <option value="tr">Zone 3</option>
                    <option value="qu">Zone 4</option>
                    <option value="ci">Zone 5</option>
                  </select>
                    <div class="valid-feedback">Zone bien choisie.</div>
                    <div class="invalid-feedback">Veuillez choisir une position!</div>
                </div>
                <!-- Demande la Date -->
                <div>
                  <input class="form-control" style="width:200px; margin-top:15px; margin-left:15px" type="date" name="date" style="margin-top:15px"> 
                </div>
                <!-- Div qui propose de remplir une zone de texte, la description des anomalies constatées -->
                <div>
                  <br><h5> Anomalie Constatées:</h5><h6>Description</h6>
                  <textarea name="desc" rows=4 cols=40></textarea>
                </div>
                <!-- input type radio, permet de cocher Ok ou Ko pour les vérifs obligatoires -->
                <div class="col-md-12 mt-3">
                  <h5 >Vérif Obligatoires :</h5> 
                  <label class="mb-3 mr-1" for="gender1" required >RIA: </label>
                  <input type="radio" name="gender1" class="btn btn-sm btn-outline-secondary" value="Ok" required> Ok ✅     
                  <input type="radio" name="gender1" class="btn btn-sm btn-outline-secondary" value="Ko" required="required">Ko ❌
                  <textarea name="gend1" rows=4 cols=40 style="height: 50px;" placeholder="Si KO préciser les manquants"></textarea>
                  <div class="valid-feedback mv-up">Vous avez bien fais un choix</div>
                  <div class="invalid-feedback mv-up">Veuillez faire un choix!</div><br>
                  <label class="mb-3 mr-1" for="gender2" required >Points Balais: </label>
                  <input type="radio" name="gender2" class="btn btn-sm btn-outline-secondary" value="Ok">   Ok ✅     
                  <input type="radio" name="gender2" class="btn btn-sm btn-outline-secondary" value="Ko">Ko ❌
                  <textarea name="gend2" rows= cols=40 style="height: 50px;"  placeholder="Si KO préciser les manquants"></textarea>
                  <div class="valid-feedback mv-up">Vous avez bien fais un choix</div>
                  <div class="invalid-feedback mv-up">Veuillez faire un choix!</div><br>                                 
                  <label class="mb-3 mr-1" for="gender3" required >Portes (accessibles?): </label>
                  <input type="radio" name="gender3" class="btn btn-sm btn-outline-secondary" value="Ok" required >  Ok ✅     
                  <input type="radio" name="gender3" class="btn btn-sm btn-outline-secondary" value="Ko" required >Ko ❌
                  <textarea name="gend3" rows=4 cols=20 style="height: 50px;"  placeholder="Si KO préciser les manquants"></textarea>
                  <div class="valid-feedback mv-up">Vous avez bien fais un choix</div>
                  <div class="invalid-feedback mv-up">Veuillez faire un choix!</div>
                </div>
                <!-- input type radio, permet de coché l'état général de la zone -->
                <div>  
                  <br><label><h5>État Général De La Zone </h5></label>
                  <div class="question-answer">
                    <div>
                      <input required type="radio" value="Débarassée" id="radio_1" name="etat" />
                      <label for="radio_3" class="radio"><span>Débarassée</span></label>
                    </div>
                    <div>
                      <input required type="radio" value="Rangée" id="radio_2" name="etat"/>
                      <label for="radio_4"  class="radio"><span>Rangée</span></label>
                    </div>
                    <div>
                      <input required type="radio" value="Nettoyée" id="radio_3" name="etat"/>
                      <label for="radio_5"  class="radio"><span>Nettoyée</span></label>
                    </div>
                    <div>
                      <input required type="radio" value="Standardisée" id="radio_4" name="etat"/>
                      <label for="radio_6"  class="radio"><span>Standardisée </span></label>
                    </div>
                    <div>
                      <input required type="radio" value="Maintenue" id="radio_5" name="etat"/>
                      <label for="radio_7"  class="radio"><span>Maintenue</span></label>
                    </div>
                  </div>
                </div>
                <!-- Permet d'upload une image -->
                <input type="file" placeholder="oii" name="fichier_upload" id="fichier_upload"><br>
                <input type="file" name="fichierupload" id="fichierupload"><br>
                <!-- Bouton pour finaliser le formulaire et tout envoyer -->
                <input type="submit" name="Submit" value="Uploader"> 
              </form>                       
            </div>
          </div>
        </div>
      </div>
    </div> <!-- fin de la div qui contient tout le formulaire et le style -->
  </body>
    <!-- script php qui gère les images -->
    <?php
      if(!empty($_FILES['fichier_upload']['name']))
      {
        // on récupère les infos du fichier à uploader
        $fichier_temp = $_FILES['fichier_upload']['tmp_name'];
        $fichier_nom = $_FILES['fichier_upload']['name'];

        // on défini les dimensions et le type du fichier
        list($fichier_larg, $fichier_haut, $fichier_type, $fichier_attr)=getimagesize($fichier_temp);

        // infos de contrôle du fichier
        $fichier_poids_max = 5000000;
        $fichier_h_max = 24408;
        $fichier_l_max = 32604;

        // dossier de destination
        $fichier_dossier = 'image/';

        // extension du fichier
        $fichier_ext = substr($fichier_nom,strrpos( $fichier_nom, '.')+1);

        // on renomme le fichier
        $fichier_date = date("ymdhis");
        $fichier_n_nom = "1.png";

        // on vérifie s'il y a bien un fichier à uploader
        if (!empty($fichier_temp) && is_uploaded_file($fichier_temp))
        {
          // on vérifie le poids du fichier
          if (filesize($fichier_temp)<$fichier_poids_max)
          {
            // types de fichiers autorises 1=gif / 2=jpg / 3=png
            if (($fichier_type===1) || ($fichier_type===2) || ($fichier_type===3))
            {
              // on vérifie si l'image n'est pas trop grande
              if (($fichier_larg<=$fichier_l_max) && ($fichier_haut<=$fichier_h_max))
              {
                // si le fichier est ok, on l'upload sur le serveur
                if (move_uploaded_file($fichier_temp, $fichier_dossier.$fichier_n_nom))
                {
                  echo "Le fichier a été uploadé avec succès<br />";
                  echo '<a href="'.$fichier_dossier.$fichier_n_nom.'"><img src="'.$fichier_dossier.$fichier_n_nom.'"></a><br />';
                }
                else
                  echo "Le fichier n'a pas pu être uploadé<br />";
              }
              else
                echo "Le fichier est trop grand<br />";
            }
            else
              echo "Le fichier n'a pas le bon format<br />";
          }
          else
            echo "Le fichier est trop lourd<br />";
        }
        else
          echo "Pas de fichier à uploader<br />";
      }
    ?>
	
    <?php
      if(!empty($_FILES['fichierupload']['name']))
      {
        // on récupère les infos du fichier à uploader
        $fichier_temp = $_FILES['fichierupload']['tmp_name'];
        $fichier_nom = $_FILES['fichierupload']['name'];

        // on défini les dimensions et le type du fichier
        list($fichier_larg, $fichier_haut, $fichier_type, $fichier_attr)=getimagesize($fichier_temp);

        // infos de contrôle du fichier
        $fichier_poids_max = 5000000;
        $fichier_h_max = 24408;
        $fichier_l_max = 32604;

        // dossier de destination
        $fichier_dossier = 'image/';

        // extension du fichier
        $fichier_ext = substr($fichier_nom,strrpos( $fichier_nom, '.')+1);

        // on renomme le fichier
        $fichier_date = date("ymdhis");
        $fichier_n_nom = "2.png";

        // on vérifie s'il y a bien un fichier à uploader
        if (!empty($fichier_temp) && is_uploaded_file($fichier_temp))
        {
          // on vérifie le poids du fichier
          if (filesize($fichier_temp)<$fichier_poids_max)
          {
            // types de fichiers autorises 1=gif / 2=jpg / 3=png
            if (($fichier_type===1) || ($fichier_type===2) || ($fichier_type===3))
            {
              // on vérifie si l'image n'est pas trop grande
              if (($fichier_larg<=$fichier_l_max) && ($fichier_haut<=$fichier_h_max))
              {
                // si le fichier est ok, on l'upload sur le serveur
                if (move_uploaded_file($fichier_temp, $fichier_dossier.$fichier_n_nom))
                {
                  echo "Le fichier a été uploadé avec succès<br />";
                  echo '<a href="'.$fichier_dossier.$fichier_n_nom.'"><img src="'.$fichier_dossier.$fichier_n_nom.'"></a><br />';
                }
                else
                  echo "Le fichier n'a pas pu être uploadé<br />";
              }
              else
                echo "Le fichier est trop grand<br />";
            }
            else
              echo "Le fichier n'a pas le bon format<br />";
          }
          else
            echo "Le fichier est trop lourd<br />";
        }
        else
          echo "Pas de fichier à uploader<br />";
      }
    ?>
	


  <footer> 
    <script>
      var slideIndex = 1;
      showDivs(slideIndex);
      function plusDivs(n) {
      showDivs(slideIndex += n);
        }
      function showDivs(n) {
      var i;
      var x = document.getElementsByClassName("mySlides");
      if (n > x.length) {slideIndex = 1} if (n < 1) {slideIndex = x.length}for
      (i = 0; i < x.length; i++) {x[i].style.display = "none";}
      x[slideIndex-1].style.display = "block"; }
      (function (){
      'use strict'
      const forms = document.querySelectorAll('.requires-validation')
      Array.from(forms)
        .forEach(function (form) {
          form.addEventListener('submit', function (event) {
            if (!form.checkValidity()) {
              event.preventDefault()
              event.stopPropagation()
            }

            form.classList.add('was-validated')
          }, false)
        })
      })()

      (function (){
      'use strict'
      const forms = document.querySelectorAll('.requires-validation')
      Array.from(forms)
        .forEach(function (form) {
          form.addEventListener('submit', function (event) {
            if (!form.checkValidity()) {
              event.preventDefault()
              event.stopPropagation()
            }

            form.classList.add('was-validated')
          }, false)
        })
      })()
    </script>
  </footer>
</html>


page 2 : method-post.php
<!-- Déclaration de la page HTML -->
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <link rel="stylesheet" href="css/image.css">
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark static-top">
      <div class="container">
          <a class="navbar-brand" href="#"><img src="images/logo3.png" style="width : 400px" alt=""></a>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
          </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
          <ul class="navbar-nav ml-auto">
            <li class="nav-item active">
              <a class="nav-link" href="index.php">Retour<span class="sr-only">(current)</span></a>
            </li> 
          </ul>
        </div>
      </div>
    </nav>

    <style>
    #customers {
      font-family: Arial, Helvetica, sans-serif;
      border-collapse: collapse;
      width: 100%;
    }
    #customers td, #customers th {
      border: 1px solid #ddd;
      padding: 8px;
    }
    #customers tr:nth-child(even){background-color: #f2f2f2;}
    #customers th {
      padding-top: 12px;
      padding-bottom: 12px;
      text-align: left;
      background-color: #04AA6D;
      color: white;
    }
    </style>
    <?php
      if(isset($_POST['zone'])){
        if($_POST['zone']=="un"){
            $zone = "zone 1";
        }elseif($_POST['zone']=="de"){
            $zone = "zone 2";
        }elseif($_POST['zone']=="tr"){
            $zone = "zone 3";
        }elseif($_POST['zone']=="qu"){
            $zone = "zone 4";
        }elseif($_POST['zone']=="ci"){
            $zone = "zone 5";
        }
      }
      $gend1=$_POST['gend1'];
      $gend2=$_POST['gend2'];
      $gend3=$_POST['gend3'];
      $gender1=$_POST['gender1'];
      $gender2=$_POST['gender2'];
      $gender3=$_POST['gender3'];
      $desc = $_POST['desc'];
      $etat = $_POST['etat'];
      $nom = $_POST['nom']; 
      $prenom = $_POST['name']; 
      $date = $_POST['date'];
    ?>
  </head>
  <body>
    <table id="customers" style="overflow:hidden;table-layout:fixed; word-wrap: break-word;">
      <tr>
        <th>Nom Prénom</th>
        <th>Zone</th>
        <th>Date</th>
        <th>État Général De La Zone</th>
      </tr>
      <tr>
        <td> <?php echo $nom . " ". $prenom; ?></td>
        <td><?php echo $zone;?></td>
        <td><?php echo $date;?></td>
        <td><?php echo $etat;?></td>
      </tr>
      <tr>
        <td colspan='2' style="max-width: 500px;"> <strong class="d-inline-block mb-2 miam">Commentaire</strong> <p class="card-text mb-5"><?php echo $desc;?></p></td>
        <td colspan='2'> <strong class="d-inline-block mb-2 miam">Vérifications Obligatoires </strong>
            <p class="card-text mb-5">
              RIA : <?php echo "$gender1"; if ($gender1== "Ko")echo " : " . $gend1; ?>  <br>
              Points Balais : <?php echo "$gender2";  if ($gender2== "Ko"){ echo " : " . $gend2;}?> <br>
              Portes (accessibles?) : <?php echo "$gender3"; if ($gender3== "Ko")  echo " : " .  $gend3;?> 
            </p>
        </td>
      </tr>
    </table>

    <div class="col-lg-4 col-md-6" style="float: left; margin-left:0px; margin-top:30px;max-width: 50%; padding:0px; text-align:center;">
		  <h4 style="text-align:center; margin-bottom:20px;">Photo 1</h4>
        <div class="portfolio-wrap">
          <?php if(!empty($_FILES['fichier_upload']['name'])) {
          ?> <a  href="image/1.png" class="venobox" title="Agrandir l'image"><i class="bx bx-plus"></i> <img style="display: block; max-width:900px; text-align:center; margin:auto; display:flex; max-height:450px; width: auto; height: auto;" src="image/1.png" > </a>
          <?php } ?> </div>
      </div>
      <div class="col-lg-4 col-md-6 portfolio-item filter-vitrine" style="float:right; margin-right:0px; margin-top:30px; text-align:center; padding:0px; max-width: 50%;">
		    <h4 style="text-align:center ;margin-bottom:20px;">Photo 2</h4>
        <div class="portfolio-wrap">
          <?php
            if(!empty($_FILES['fichier_upload']['name'])) {?>  
            <a  href="image/2.png" class="venobox" title="Agrandir l'image"><i class="bx bx-plus"></i><img style="display: block; max: width 900px;; max-height:450px; margin:auto; display:flex; width: auto; text-align:center; height: auto;" src="image/2.png" ></a>
          <?php } ?>
        </div>
      </div>
  </body>
</html>

    <?php
      if(!empty($_FILES['fichier_upload']['name']))
      {
        // on récupère les infos du fichier à uploader
        $fichier_temp = $_FILES['fichier_upload']['tmp_name'];
        $fichier_nom = $_FILES['fichier_upload']['name'];
        // on défini les dimensions et le type du fichier
        list($fichier_larg, $fichier_haut, $fichier_type, $fichier_attr)=getimagesize($fichier_temp);
        // infos de contrôle du fichier
        $fichier_poids_max = 5000000;
        $fichier_h_max = 24408;
        $fichier_l_max = 32604;
        // dossier de destination
        $fichier_dossier = 'image/';
        // extension du fichier
        $fichier_ext = substr($fichier_nom,strrpos( $fichier_nom, '.')+1);
        // on renomme le fichier
        $fichier_date = date("ymdhis");
        $fichier_n_nom = "1.png";
        // on vérifie s'il y a bien un fichier à uploader
        if (!empty($fichier_temp) && is_uploaded_file($fichier_temp))
        {
          // on vérifie le poids du fichier
          if (filesize($fichier_temp)<$fichier_poids_max)
          {
            // types de fichiers autorises 1=gif / 2=jpg / 3=png
            if (($fichier_type===1) || ($fichier_type===2) || ($fichier_type===3))
            {
              // on vérifie si l'image n'est pas trop grande
              if (($fichier_larg<=$fichier_l_max) && ($fichier_haut<=$fichier_h_max))
              {
                // si le fichier est ok, on l'upload sur le serveur
                if (move_uploaded_file($fichier_temp, $fichier_dossier.$fichier_n_nom))
                {
                }
                else
                  echo "Le fichier n'a pas pu être uploadé<br />";
              }
              else
                echo "Le fichier est trop grand<br />";
            }
            else
              echo "Le fichier n'a pas le bon format<br />";
          }
          else
            echo "Le fichier est trop lourd<br />";
        }
        else
          echo "Pas de fichier à uploader<br />";
      }
    ?>       
    <?php
      if(!empty($_FILES['fichierupload']['name']))
      {
        // on récupère les infos du fichier à uploader
        $fichier_temp = $_FILES['fichierupload']['tmp_name'];
        $fichier_nom = $_FILES['fichierupload']['name'];
        // on défini les dimensions et le type du fichier
        list($fichierlarg, $fichierhaut, $fichier_type, $fichier_attr)=getimagesize($fichier_temp);
        // infos de contrôle du fichier
        $fichier_poids_max = 5000000;
        $fichier_h_max = 24408;
        $fichier_l_max = 32604;
        // dossier de destination
        $fichier_dossier = 'image/';
        // extension du fichier
        $fichier_ext = substr($fichier_nom,strrpos( $fichier_nom, '.')+1);
        // on renomme le fichier
        $fichier_date = date("ymdhis");
        $fichier_n_nom = "2.png";
        // on vérifie s'il y a bien un fichier à uploader
        if (!empty($fichier_temp) && is_uploaded_file($fichier_temp))
        {
          // on vérifie le poids du fichier
          if (filesize($fichier_temp)<$fichier_poids_max)
          {
            // types de fichiers autorises 1=gif / 2=jpg / 3=png
            if (($fichier_type===1) || ($fichier_type===2) || ($fichier_type===3))
            {
              // on vérifie si l'image n'est pas trop grande
              if (($fichierlarg<=$fichier_l_max) && ($fichierhaut<=$fichier_h_max))
              {
                // si le fichier est ok, on l'upload sur le serveur
                if (move_uploaded_file($fichier_temp, $fichier_dossier.$fichier_n_nom))
                {
                }
                else
                  echo "Le fichier n'a pas pu être uploadé<br />";
              }
              else
                echo "Le fichier est trop grand<br />";
            }
            else
              echo "Le fichier n'a pas le bon format<br />";
          }
          else
            echo "Le fichier est trop lourd<br />";
        }
        else
          echo "Pas de fichier à uploader<br />";
      } 
    ?>
  </body>
  <footer> 
	  <script src="js/main.js"></script>
  </footer>	 
</html>

0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 1 juin 2021 à 16:48

Dès que quelqu'un réremplit le formulaire et met une photo, ça écrase la photo précédente et l'enregistre avec le même nom, sinon, ça affiche celle d'avant mais je ne veux pas.

Et bien, vu que tu connais le nom de l'image ... il te suffit de la supprimer avant d'en réuploader une.

un truc du genre

 // dossier de destination
        $fichier_dossier = 'image/';

// on déplace les "constantes" AVANT le IF
 $fichier_n_nom = "1.png";

//suppression de l'ancienne image si elle existe
   if (file_exists($fichier_dossier.$fichier_n_nom)){
     unlink($fichier_dossier.$fichier_n_nom);
  }


   if(!empty($_FILES['fichierupload']['name']))


0
Merci encore, mais moi ce que je ne veux pas c'est que ça réaffiche l'image que j'ai upload en dernière si je n'upload pas d'image, je sais pas si tu comprend :/
genre l'utilisateur n'est pas obligé d'upload une photo, si il le fait pas, je ne veux pas que l'autre page affiche une image qui avait été enregistré auparavant, j'ai tout de même essayé ton code mais ça ne marche pas :(
c'est pour ça que je me demande si y'a pas un truc genre onclick, si j'appuie sur le bouton envoyé une image, ça en affiche une (avec un boolean) sinon, ça n'affiche rien
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
1 juin 2021 à 17:03
On est d'accord que tu upload l'image dans la première page...
Que tu lui donnes toujours le même nom...
Donc tu supprimes l'image si elle existe sur le serveur avant d'éventuellement faire l'upload d'une nouvelle image.

Donc si tu as mis une image elle sera présente sur le serveur si tu n'as pas remis d'images la précédente aura été supprimée... Et donc ne se reaffichera pas...

Sinon tu peux très bien comme tu le demandes, avec du JavaScript et onclick, remplir un input hidden pour indiquer que tu as mis ou non une photo.
0
C'est bon ta façon marche, vraiment merci beaucoup je ne savais pas du tout comment faire et pour le boolean personne en parle x)
résolu et merci
0