Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3246 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] écrire dans un terminal linux à partir d'un script

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] écrire dans un terminal linux à partir d'un script

n°1988301
mike0794
Posté le 28-04-2010 à 10:45:22  profilanswer
 

Bonjour,
 
J'ai fait un script qui lance le terminal de linux avec la commande exec() ensuite je souhaite écrire une commande dans le terminal donc j'ai essayé echo() et print() mais ça m'écrit la commande devant comme dans l'exemple suivant "Rtest@ubuntu:~/Bureau$".  
Or je voudrais que la commande s'écrive dèrrière le $, mais je ne sais pas comment faire.
 
est ce que quelqu'un peut me donner une piste,
 
merci d'avance,
Cordialement,
mike0794.

mood
Publicité
Posté le 28-04-2010 à 10:45:22  profilanswer
 

n°1988317
olivthill
Posté le 28-04-2010 à 11:19:50  profilanswer
 

Oui, echo() ou print(), cela écrit dans la page HTML, cela n'écrit pas ailleurs.

n°1988330
mike0794
Posté le 28-04-2010 à 11:45:21  profilanswer
 

est ce qu'il n'y a pas une fonction pour écire dans le terminal?

n°1988337
skeye
Posté le 28-04-2010 à 11:59:00  profilanswer
 

olivthill a écrit :

Oui, echo() ou print(), cela écrit dans la page HTML, cela n'écrit pas ailleurs.


 
Non. Ca écrit sur la sortie standard.


---------------
Can't buy what I want because it's free -
n°1988338
skeye
Posté le 28-04-2010 à 12:00:04  profilanswer
 

mike0794> Il faut que tu regardes plutôt du coté de proc_open : http://fr.php.net/manual/fr/function.proc-open.php


---------------
Can't buy what I want because it's free -
n°1988448
mike0794
Posté le 28-04-2010 à 15:22:38  profilanswer
 

Oui je pense que tu as raison mais je viens de lire la fonction et je ne comprend pas comment elle marche.
Au début je défini $cmd='nom_commande", par contre pour $descriptorspec je définis:
0 => array("pipe", "r" ),  //pipe ou le processus va lire
1 => array("pipe", "w" ), //pipe ou le processus va écrire
par contre pour le 2 il faut mettre un fichier mais je ne comprend pas à quoi sert ce fichier.

n°1988474
NewsletTux
<Insérez ici votre vie />
Posté le 28-04-2010 à 16:19:49  profilanswer
 

le "souci" dans ton raisonnement, c'est que ce qui se situe derrière le $ est la "future commande" qui sera exécutée dès que l'utilisateur appuiera sur "entrée" et ton script PHP retourne un résultat d'une commande après l'exécution de celle-ci : donc c'est normal qu'il te l'affiche "avant".


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1988646
mike0794
Posté le 29-04-2010 à 11:14:33  profilanswer
 

Bonjour,
 
j'ai trouvé un script que j'ai modifié pour utiliser la fonction proc-open(). Je l'utilise pour ouvrir un nouveau terminal et je souhaiterais écrire dans ce terminale en lisant des commandes qui sont dans un fichier texte. Je voudrais donc savoir ce qu'il faut que je change dans mon script pour que l'entrée soit sur un fichier.
 
Voici mon code:
<?php
$descriptorspec = array(  
0 => array("file","/home/test/Bureau/autoR.r","r" ),  // stdin est un fichier où le processus va lire
1 => array("pipe", "w" ), // stdout est un pipe où le processus va écrire
2 => array("pipe", "a" ) // stderr est un pipe
);  
 
$process = proc_open('gnome-terminal', $descriptorspec, $pipes);  
 
if (is_resource($process))  
{  
   // $pipes ressemble à :
   // 0 => fichier accessible en écriture,  
   // 1 => fichier accessible en lecture, connecté à la sortie standard du processus fils
 
   fwrite($pipes[0], 'test');  
   fclose($pipes[0]);  
 
   echo stream_get_contents($pipes[1]);  
   fclose($pipes[1]);  
 
   $return_value = proc_close($process);  
 }  
?>  
 
Merci d'avance
 
Cordialement,
Mike0794


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] écrire dans un terminal linux à partir d'un script

 

Sujets relatifs
PHP probleme retour chariotControle d'un terminal Linux via PHP
[PHP] Retour d'info avec identify via execLire et écrire dans un fichier Excel avec un programme c++
Utiliser cURL PHP en ligne de commande WindowsEcrire sur le terminal sans avancer le pointeur
Creation Classement PHP par mois 
Plus de sujets relatifs à : [PHP] écrire dans un terminal linux à partir d'un script


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR