IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

rand() et cache


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Points : 20
    Points
    20
    Par défaut rand() et cache
    Bonjour à tous,

    dev PHP, javascript

    Je fais un rand() pour afficher une image aléatoirement.
    l'affichage aléatoire ne fonctionne QUE si je rafraichie la page par un F5. Sinon la même image s'affiche en boucle, le browser s'appuyant sur le cache, je suppose.

    J'ai essayé de mettre en place les META cache control et EXPIRE, header php, configurer Apache pour ExpiresActive.etc...
    Rien ne fonctionne.

    le cache est toujours pris en compte.

    Si vous avez une idée je suis preneur

    Merci à tous

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    oui le browser s'appuie sur le cache mais si tu changes la source d'une balise image, même issue du cache, l'image doit suivre en conséquence.

    Poste ton code stp.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Je pensais la même chose puisque le random est normalement lancé a chaque appel.....Mais non ...

    edit: Je comprends ce que tu veux dire ! En cliquant je ne rappel pas le fichier complet mais uniquement l'image.....!


    Voici le code assez sommaire


    un css et une fonction javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function overlay() {
            el = document.getElementById("overlay");
            el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <html>
    <head>
    <meta http-equiv="Pragma" content="no-cache">
    <link rel="stylesheet" type="text/css" href="style.css"> 
    </link>
    </link>
    <SCRIPT language="JavaScript" src="script.js">
    </SCRIPT>
    </head>
    <body>
    <?php
    $hasard = rand(0,2);
    switch($hasard){
            case 0:
                  $img="<img src='img0.jpg'>";
                  break;
            case 1:
                  $img="<img src='img1.jpg'>";
                  break;
            case 2:
                  $img="<img src='img2.jpg'>";
                  break;
    }
    ?>
    <a href='#' onclick='overlay()'><img src="hotline.png" width="50" height="50" ></a>
     
    <div id="overlay">
         <div>
            <p><?php echo $img; ?></p>
            <a href='#' onclick='overlay()'><b>Close</b></a>
         </div>
    </div>
    </body>
    </html>

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Comment veux-tu que ton image change aléatoirement sans coder cet aspect ?
    Parce que pour l'instant, la partie rotation aléatoire des images n'est effectivement possible qu'après rafraîchissement de la page ^^

    Tu dois coder une fonction javascript basé sur un timer qui à expiration, changera aléatoirement la valeur de l'attribut src de la balise img.

    En passant, toute la partie du code php peut être avantageusement remplacée par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p><img src="img<?php echo rand(0, 2) ?>.jpg"></p>

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2014
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    Oui tu as raison merci....la page n'est pas appelée mais seulement l'image. Le cache n'a rien avoir là dedans.

    Merci beaucoup.

    Pour le codage du rand() mes images ne s'appellent pas img0 etc....c'était simplement pour simplifier le visuel dans le forum.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Répertoire caché
    Par KUBITUS dans le forum Delphi
    Réponses: 30
    Dernier message: 13/04/2007, 07h19
  2. XMLGram, Import et cache
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 13
    Dernier message: 05/03/2003, 17h09
  3. Qu'est ce que le cache ?
    Par irrou dans le forum Assembleur
    Réponses: 4
    Dernier message: 24/11/2002, 23h28
  4. Ouvrir (fopen) un fichier caché
    Par shef dans le forum C
    Réponses: 2
    Dernier message: 09/09/2002, 09h06
  5. Webbrowser : Comment ne pas prendre la page en cache
    Par cedm78 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 30/08/2002, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo