Comment puis-je exécuter un script php à chaque fois qu'il est accessible sur une page?

StackOverflow https://stackoverflow.com/questions/5841447

  •  27-10-2019
  •  | 
  •  

Question

J'utilise ce rotateur d'image. Il est très bien, mais si je lui associerez plusieurs fois sur une page, il affiche la même image. Je ne sais pas combien de fois il est accessible, de sorte que l'utilisation de plusieurs scripts identiques est peu pratique. Comment puis-je modifier ce script pour que je puisse obtenir une autre image ailleurs sur la page en utilisant la même URL? Est-il possible?

EDIT: Il se trouve que doit y avoir eu un problème avec le codage. J'ai trouvé un meilleur code , et il fonctionne si j'utilise différentes requêtes sur chaque lien. Merci à tous ceux qui ont soumis des réponses!

Était-ce utile?

La solution

Passez une chaîne de requête différente pour chaque instance afin que les récupère navigateur il plusieurs fois.

Votre navigateur est de voir que chaque « rotation » image utilise la même URL, il met en cache l'image résultant de la première demande.

Vous pouvez modifier ce comportement de deux manières.

  1. Suffixe votre « rotation » URL d'image avec une chaîne aléatoire de php. Par exemple, ( "rotate.php? Img = my_static_image.jpg & x = 12345" Cela signifie que le navigateur fait une nouvelle demande pour chaque image.

  2. Faites votre rotate scrip redirect à une URL aléatoire si elle recives aucun paramètre supplémentaire.

Autres conseils

Vous pouvez travailler avec le paramètre GET 'img'.

/path/to/images/rotate.php?img=my_static_image. jpg

En savoir plus sur la valeur par défaut GET paramètre peut vous trouver là-bas des documents: http: //www.alistapart. com / articles / randomizer /

Si vous voulez garder l'URL même alors il suffit d'ajouter un en-tête no-cache à votre script php comme ceci:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>

Espérons que tout navigateur moitié décent respectera cela et ne cache la première demande.

Votre autre option est de modifier votre script rotate.php afin que le code est contenu dans une fonction. Ensuite, vous utiliseriez include('rotate.php'); en haut de votre script et utilisez votre nouvelle fonction rotate() où que vous soyez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top