Fichier remplacé ne s'actualise pas sur le site

Résolu/Fermé
regitraz Messages postés 89 Date d'inscription vendredi 17 octobre 2014 Statut Membre Dernière intervention 30 mai 2021 - Modifié le 9 avril 2020 à 15:48
regitraz Messages postés 89 Date d'inscription vendredi 17 octobre 2014 Statut Membre Dernière intervention 30 mai 2021 - 9 avril 2020 à 17:24
Bonjour,
J'essaye de faire un genre de gestion des article via des pdf.
Il est possible de remplacer un pdf par un autre pdf pour actualiser l'article, cela efface le premier pdf (les deux pdf ont le meme nom car le deuxieme pdf prend le nom du premier lors de sa création, donc move_uploaded_file remplace l'ancien par le nouveau).

Ensuite je stocke le nom du pdf dans une base de donnée, ainsi que d'autres information sur l'article tel que le nom, une courte description, etc

Voici une partie du code :

if (!empty($_FILES['pdf']['name'])) {
      $path = "pdf/$pdf"; 

      if(move_uploaded_file($_FILES['pdf']['tmp_name'], $path)) {
        $error = 1;
      }
      else{
        $error = 0;
      }
    }

    if($error) // met a jour $error
      $error = $pdo->update("article", "titre=$titre, text=$texte, "file=$pdf");


Et ensuite je fait un
<a href='pdf/$value[file]' target=_blanc>$value[titre]</a>
Pour chaque articles.
Je précise que $value contient toutes les informations de la base de donnée sur un articles (nous sommes dans un foreach).

Mon probleme est que quand je change un pdf par un autre, sur le disque dur le nouveau pdf est pris en compte (c'est le bon, le nouveau que je voulait) mais le <a href ...> affiche toujours l'ancien (qui a été supprimer).

Pourquoi ca ne s'actualise pas en meme temps que la page ? (ca fonctionne en vidant le cache).

Merci d'avance pour votre aide
A voir également:

2 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
9 avril 2020 à 16:02
Bonjour,

Tu as trouvé la réponse tout seul...
ca fonctionne en vidant le cache


C'est le cache du navigateur qui est en cause.


Tu peux demander au navigateur de ne pas le créer
par exemple avec ce code php
header("Cache-Control: no-cache, must-revalidate");


0
regitraz Messages postés 89 Date d'inscription vendredi 17 octobre 2014 Statut Membre Dernière intervention 30 mai 2021
9 avril 2020 à 17:24
Super merci ça a fonctionné
0