Pause exécution script PHP
index
Messages postés
1861
Date d'inscription
Statut
Membre
Dernière intervention
-
index Messages postés 1861 Date d'inscription Statut Membre Dernière intervention -
index Messages postés 1861 Date d'inscription Statut Membre Dernière intervention -
Bonjour.
Ma question est plus précise que le titre:
J'aimerai qu'à un moment précis, le fichier PHP execute une commande donnée, qu'après 3 sec.
Voici une partie de mon fichier:
J'aimerai savoir si c'est possible.
Merci à vous.
Ma question est plus précise que le titre:
J'aimerai qu'à un moment précis, le fichier PHP execute une commande donnée, qu'après 3 sec.
Voici une partie de mon fichier:
<?php
print "L'arrêt de la vidéo est en cours.";
exec("video.bat" /* On lance le script d'arrêt de vidéo */
/* PATIENTER 3 SECONDES PUIS: */
echo '<SCRIPT>javascript:window.close()</SCRIPT>'; /* On ferme la fenêtre */
?>
J'aimerai savoir si c'est possible.
Merci à vous.
5 réponses
-
Bonjour index
Je te propose d'utiliser la fonctionsleep
proposé par php. Voici votre code après l'insertion de la fonction:
<?php print "L'arrêt de la vidéo est en cours."; exec("video.bat"); /* On lance le script d'arrêt de vidéo */ sleep(3);//Attend 3 secondes echo '<SCRIPT>javascript:window.close()</SCRIPT>'; /* On ferme la fenêtre */ ?>
Merci de me mettre un +1 si ma réponse vous à aidé :p -
Oups ...
Parse error: syntax error, unexpected 'sleep' (T_STRING) in C:\Program Files\EasyPHP-DevServer-14.1VC9\data\localweb\ts.php on line 4 -
Merci pour vos précisions.
Voici mon fichier corrigé:
<?php print "L'arrêt de la vidéo est en cours."; exec("ts.bat"); /* On lance le script d'arrêt de vidéo */ sleep(3);//Attend 3 secondes echo '<SCRIPT>javascript:window.close()</SCRIPT>'; /* On ferme la fenêtre */ ?>
Mais rien ne se passe à présent ...
J'ai pensé, si vous avez la motivation de m'aider (je n'en doute pas) à faire un script avec conditions:
SI: le script est exécuté sans soucis
ALORS: Fermer la fenêtre
SEULEMENT: après trois secondes
Vous voyez ?
Je débute en PHP, je vous demande de m'excuser, je n'ai que quelques notions pour le moment.-
C'est pourtant ce que semble faire ton script.
"Rien ne se passe" c'est à dire ? Ton fichier ts.bat est-il bien exécuté ?
Quelques remarques :
- le premier print ne sera affiché que à la fin du script (sauf si l'option implicit_flush est activé)
- pour la condition "si le script est exécuté sans soucis", si il s'agit de l'exécution du script ts.bat, tu peux récupérer le retour de cette exécution en précisant un second paramètre à l'instruction exec (cf. documentation php)
- la fonction javascript window.close() ne fonctionnera que si la fenêtre a été ouverte en javascript via la fonction window.open(), ce qui ne semble pas être le cas ici.
Si la fenêtre n'as pas été ouverte avec javascript, il n'existe pas de moyen de fermer celle-ci autre que l'intervention de l'utilisateur.- "Rien ne se passe" c'est à dire ? Ton fichier ts.bat est-il bien exécuté ?"
En fait, la fenêtre ne se ferme pas je veux dire.
En ce moment ce qui ouvre la fenêtre c'est cette commande:
<input type="button" value="Nom du bouton" onclick="window.open('ts.php','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=1, copyhistory=0, menuBar=0, width=100, height=100');return(false)"></a>
-
-
Bonjour
Je ne sais pas très bien ce que tu cherches à faire, mais es-tu bien conscient que le "print" et le "echo" affichent quelque chose chez le client, alors que le "exec" et le "sleep" se passent sur le serveur ? Ça peut avoir du sens si tu travailles en local, mais si tu travailles en ligne j'ai beaucoup de mal à voir ce que ça peut donner. Comme tu dis que tu es débutant, j'ai plutôt l'impression que tu ne te rends pas bien compte de ce que tu fais. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Oui, je débute tu as raison je ne me rends pas bien compte de ce que je fais.
J'aimerais simplement lancer un .bat via une page HTML et que sur le serveur il y est le lancement de ce dernier qui, fermera une application et une fois que c'est fait, renvoie l'information sur le client en le prévenant.
Enfin, la fenêtre se ferme seule ...
J'ai une partie du script mais je bloque à certains endroits.