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

  1. #1
    esa
    esa est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 61
    Points : 38
    Points
    38
    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 habitué
    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
    Points : 126
    Points
    126
    Par défaut
    salut,
    peut-être avec javascript et la fonction setTimeout().

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    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é
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

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

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    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 régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 74
    Points : 80
    Points
    80
    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

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Toujours pas de bonne réponse, c'est ding ça !!
    Mouais... La tienne non plus n'est pas bonne.
    Tu as lu son problème, ou pas? Le problème doit se régler en PHP, puisqu'on ne peux pas changer le src de l'image.

  8. #8
    Membre averti Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Points : 363
    Points
    363
    Par défaut
    Ben en fait il répond à la question.

    En php il n'est pas possible de rafraichir la page du client puisque les scripts sont exécuter sur le serveur...

    Donc la solution se trouve du coté client. Et le JavaScript permet de mettre en place une telle solution.

    Par contre l'utilisation de de setTimeout est un peu douteuse
    Dans une fonction ça fait pas trés propre...
    setTimeout appelle la fonction en paramétre TOUS les n millisecondes. Alors dans une fonction récursive... c'est explosif !

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/08/2007, 21h16
  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, 16h49
  3. [Système] Exécuter une application sur le serveur
    Par misteralex64 dans le forum Langage
    Réponses: 7
    Dernier message: 06/07/2007, 16h20
  4. Réponses: 6
    Dernier message: 29/06/2007, 18h25
  5. Réponses: 7
    Dernier message: 20/10/2005, 21h51

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