Invite de Commande en PHP - PHP - Programmation
Marsh Posté le 23-02-2009 à 10:54:18
Le problème des commandes une à une vient du fait du protocole HTTP et de PHP. Chaque requête (donc chaque envoi du formulaire) va initialiser un environnement neuf. Donc il ne garde pas ce qu'il avait fait avant.
Faut trouver le moyen d'ouvrir un shell, de le laisser ouvert, et d'arriver à le récupérer à chaque requête.
La mise en page horrible, c'est à quel niveau ? Pour les sauts de lignes, n'oublie pas qu'en HTML ils doivent être remplacés par <br />
Marsh Posté le 23-02-2009 à 11:21:07
"horrible" dans le sens ou si je tape simplement :
Code :
|
j'obtiens :
Code :
|
c'est moche ....
Marsh Posté le 23-02-2009 à 11:23:14
Ben oui c'est normal Comme je vient de dire, pour rendre un retour chariot, il faut utiliser <br />. Ou mieux, englobe la sortie dans un <pre></pre>
Marsh Posté le 23-02-2009 à 11:27:37
bah oui je suis d'accord pour le "</br>" mais étant donné que le resultat m'est donné d'un bloc , ou dois-je le placé?
je teste avec le <pre> ...
Marsh Posté le 23-02-2009 à 11:31:29
Avec les balises "<pre>"
Code :
|
Okay merci c'est mieux ...
ET sinon c'est donc impossible d'executer des commande a la suite en ayant le résultat entre chaque commande (comme dans une fenetre dos classique) sans avoir a retourner au début a chaque fois?
Marsh Posté le 23-02-2009 à 11:48:50
nl2br() si jamais.
A priori, je dirais difficile. Essaie peut-être de stocker en session les variables d'environnement à chaque fin, et de les lire au début
SET
Marsh Posté le 23-02-2009 à 11:50:05
en mode horrible, tu empiles chaques commande (genre dans la session), tu depiles a chaque page, mais apres 50 commandes, tu vas executer 50 commandes au chargement de ta page
Marsh Posté le 23-02-2009 à 12:46:08
Tu peux toujours essayer d'implémenter un système à deux boutons :
- "Ajouter aux commandes"
- "Exécuter"
Ajouter permettant d'empiler les commandes, et Exécuter les exécute (!)
Marsh Posté le 23-02-2009 à 13:17:14
je pense que je vais faire un formulaire qui rajoute une ligne au fichier
"commande.bat" et qui execute le tout lorsque l'utilisateur valide et mettre un bouton pour supprimer ce fichier.
Mais vers quoi doit pointer ce 2e bouton? lorsque je fais un unlink bizarrement cela ne marche pas :???:
Marsh Posté le 23-02-2009 à 13:38:34
Pourquoi ne pas faire ça avec de l'ajax ?
Et ne récupérer que le résultat de la commande ?
Tu conserverai ainsi l'historique de ton shell vu que la page ne serait pas rafraichie
Marsh Posté le 23-02-2009 à 14:00:45
yellu a écrit : Pourquoi ne pas faire ça avec de l'ajax ? |
T'as rien compris toi
Marsh Posté le 23-02-2009 à 16:43:09
Hmmm apparemment faudrait plutôt utiliser un Wscript.Shell qui peut activer n'importe quelle application (donc j'imagine un cmd) via son ProcessId.
Faut trouver alors un moyen de lancer un cmd et de récupérer son ProcessId, qu'on metterait par exemple en session.
Marsh Posté le 23-02-2009 à 20:16:55
FlorentG a écrit : |
En effet je viens de voir que son problème est de retrouver ses petits une fois sur le serveur (nouveau process à chaque) et non de perdre ses commande passés avec le rafraichissement
Désolé pour mon commentaire HS
Marsh Posté le 23-02-2009 à 22:05:04
En fait il doit garder les précédentes commandes justement en cas de CD par exemple.
Mais bonne nouvelle, J'Y SUIS PRESQUE HAHAHAHAHA
Marsh Posté le 24-02-2009 à 08:49:20
Le but de tous cela ... n'est pas uniquement de faire joujou avec une invit de commande ..
Je dois en fait lancer une appli qui souvre dans une fenetre DOS, ou il faut selectionner 2 choix pour le lancement , il faut donc dans un premier temps lancer l'appli est retourner ce qu'elle demande a l'écran (ça j'y arrive ), puis valider le choix de l'utilisateur dans la meme appli ...
etc-ce jouable?
Merci de votre aide
Marsh Posté le 24-02-2009 à 10:12:08
elmarokinho a écrit : Le but de tous cela ... n'est pas uniquement de faire joujou avec une invit de commande .. |
Ah nan faut pas dire ça J'y ai passé plus de 6h hier sur ce truc Reste juste à trouver comment injecter des commandes dedans (normalement c'est avec la fonction de l'API Win32 WriteConsoleInput, mais je ne me vois pas marshaller les pires structures en PHP
Marsh Posté le 24-02-2009 à 10:21:54
Non mais ne desespere pas FlorentG ... si on arrive a garder l'invite de commande "ouvert" d'une commande a l'autre le principe reste le meme pour la suite ...
C.F mon post :
http://forum.hardware.fr/forum2.ph [...] w=0&nojs=0
En tout cas merci d'y mettre autant de volonté
Moii cela fait 2 jours je tourne autour je n'avance pas
Marsh Posté le 23-02-2009 à 09:07:56
Bonjour,
Je souhaiterais crée l'équivalent de l'invite de commande en PHP ...
J'ai trouvé un début mais plusieurs problemes se pose ...
Par exemple si je fais un " cd .." je sais que je chage de répertoire mais la commande suivante sera de nouveau executée a partir du point de départ.
J'ai donc mis en place un texte area sur plusieurs lignes afin de pouvoir executer plusieurs commandes successives :
Mais voila j'obtiens une mise en page horrible, aucun saut de lignes ...
et si je pouvais obtenir une méthode également pour pouvoir taper les commande une a une sans revenir au début ce serait sympa ...
Merci a vous
Message édité par elmarokinho le 23-02-2009 à 09:09:01