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 :

Affichage résultat .bat


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 28
    Points : 18
    Points
    18
    Par défaut Affichage résultat .bat
    Bonjour à tous,

    je vous explique mon soucis. J'ai un fichier .bat dans lequel j'effectue un ping vers une liste d'URL. Je lance actuellement ce .bat comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pclose(popen("start \"bla\" \"liste_url.bat\"", "r"));
    Ma question est la suivante : plutôt que d'avoir une page blanche vide durant l'execution du .bat, est-il possible d'afficher sur cette page en temps réel le résultat de l'execution du .bat ( les résultats qui s'affiche au fur et à mesure et pas tout d'un coup à la fin de l'execution du .bat )

    Et si ce n'est pas possible comment empêcher ce "freeze" de la page qui ne s'arrete qu'à la toute fin de l'execution?

  2. #2
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    Si le traitement s'effectue en PHP, tu peux lui dire d'afficher ce qu'il a déja en utilisant la commande flush();
    Cela force le script a afficher ce qu'il a en attente d'affichage.

    Un flush() en fin de boucle et tu auras un affichage enregistrement par enregistrement

    @+
    cadou

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Merci de ta réponse. J'ai essayé de faire quelquechose de ce style là mais ça n'a pas l'air de fonctionner, le message s'affiche toujours en bloc à la fin..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php 
      $fp = popen("ping 127.0.0.1","r");
        while(!feof($fp)){
             print fread($fp, 1024);
             flush();
        }
        fclose($fp); 
    ?>

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Bon et bien en fait j'ai trouvé une alternative, j'ai fais appel à une simple fonction exec() qui est appelée avec de l'ajax et tant que l'exec n'est pas terminé et bien on affiche une image d'attente

    Voilà, si cela peut aider qqn, la fonction utilisée :

    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
     
    function ping_manuel(ip,appli){
    var MSG ='<div style="width:100%;background-color:#FFFFFF;"align=center><br><img src="images/attente.gif" />';
    MSG+='<br><font color="red"><br><b>Ping de l\'application '+appli+' en cours.. Merci de patientez... </b></font></div>';
     
    	var xhr = new ActiveXObject("Msxml2.XMLHTTP");
    	xhr.open("POST","ajax/ping_manuel.php",true);
    	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	xhr.send("ip="+ip+"&appli="+appli);
    	document.getElementById('ping_manuel').innerHTML=MSG;
    	xhr.onreadystatechange = function(){
    		if(xhr.readyState == 4 && xhr.status == 200){
    			document.getElementById('ping_manuel').innerHTML=xhr.responseText;
    			window.location.replace(resultat_perso.php');
    		}
    	}
    }

Discussions similaires

  1. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  2. [SQL] Affichage résultat requête dans un tableau, bouton affichage page
    Par megapacman dans le forum PHP & Base de données
    Réponses: 35
    Dernier message: 18/05/2006, 16h42
  3. Réponses: 1
    Dernier message: 11/05/2006, 16h37
  4. Affichage résultat type Google (multipage multibase)
    Par LeCaméléon dans le forum XMLRAD
    Réponses: 7
    Dernier message: 02/04/2006, 16h17
  5. Affichage résultat de requête dans un champ
    Par dj-julio dans le forum WinDev
    Réponses: 1
    Dernier message: 18/01/2006, 10h51

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