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 :

[Système] Exécution sur délai


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    esa
    esa est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 61
    Par défaut [Système] Exécution sur délai
    bonjour, j'ai cherché, mais rien trouvé...

    CONTEXTE :
    Une page (A.php) affiche une image sous la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="rep/affimg.gif"></img>
    En fait, ce code appelle le fichier affimg.php (redirection du rep par .htaccess) qui retourne une image d'un tableau ou d'une DB.

    PROBLEME :
    Comment faire changer l'image (suivant un délai paramétré) sans rafraichissement de A.php, uniquement avec le code de affimg.php ?
    Et est-ce possible ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Par défaut
    salut,
    peut-être avec javascript et la fonction setTimeout().

  3. #3
    Membre émérite Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Par défaut
    Une idée pas testée : rajoute un numéro aléatoire à ton image (pour éviter que l'image soit en cache) puis change la source de l'image via JavaScript.

  4. #4
    esa
    esa est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 61
    Par défaut
    Je n'ai pas acces à A.php, tout doit se passer dans affimg.php

  5. #5
    Membre émérite Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Par défaut
    Peut-être qu'en mettant les headers qui vont bien, tu pourrais éviter la mise en cache de l'image.
    Par contre, sans rien modifier à A.php, je ne vois vraiment pas ce que tu pourrais faire pour changer l'image...
    Quoique... essaye un truc de ce genre là (très très crade je trouve)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    header('...');//je te laisse chercher :P
    readfile(image);
    sleep(delai);
    readfile(image2);
    Peut-être qu'il faudra jouer avec les ob_start, ob_flush et autres.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 74
    Par défaut
    Toujours pas de bonne réponse, c'est ding ça !!

    Pour commencer, un image c'est :

    <img src="rep/affimg.gif" alt="" />

    Si tu veux faire défiller des images, ce sera coté client donc tu écrit l'img avec JS dans un <span>. Avec un fonction récursive apelé toute les secondes c'est faisable. Comme l'a dis tom42.

    Et le PHP n'a rien à voir là dedans.

    Attend, j'vais te le faire.

    regarde :

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function modif_img (nb)
    {
    	document.getElementById ("span_img").innerHTML = "<img src=\"" + nb + "\.gif\" alt=\"\">";
     
    	if (nb == 2) nb = 0;
     
    	setTimeout("modif_img (" + ++nb + ");", 1000);
    }

    Ca c'est une fonction récursive (qui s'apèle) toute les 1000 ms. Et elle à pour effet d'écrire alternativement <img src="1.gif" alt="" /> et <img src="2.gif" alt="" /> dans le span repéré par l'ID span_img.

    Ensuite, voici ta page :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    	<head>
    		<script language="javascript" src="modif_img.js"> </script>
    	</head>
    	<body>
    		<span id="span_img"></span>
     
    		<script language="javascript">
    			modif_img (1);
    		</script>
    	</body>
    </html>


    La fonction modif_img est chanrgé dans le <head>. Et on l'apèle à la fin de la page (regarde en bas).

    En suite, j'ai pris soin de placer un span qui a pour ID span_img. C'est à l'intérieur de cette balise que JS irras "écrire" la balise (par alternance) <img>.

    J'ai fait ca vite fait avec des trucs que j'avais sous la main. Pour info, ca marche bien. J'le met en piece jointe.

    A bientôt !
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/08/2007, 20h16
  2. [Système] Exécuter mon code sur un autre site
    Par pas30 dans le forum Langage
    Réponses: 2
    Dernier message: 21/08/2007, 15h49
  3. [Système] Exécuter une application sur le serveur
    Par misteralex64 dans le forum Langage
    Réponses: 7
    Dernier message: 06/07/2007, 15h20
  4. Réponses: 6
    Dernier message: 29/06/2007, 17h25
  5. Réponses: 7
    Dernier message: 20/10/2005, 20h51

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