chaussette Achats/Ventes : warrior, SnoOzeR, 1 utilisateur anonyme et 22 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Programme pour rappatrier une commande dos

 
n°48498
Yellow-Sky
Posté le 10-09-2006 à 06:38:32  profilanswer
 

1. je ne connais rien en programmation hormis php
 
Mon but
Afficher graphiquement un des sous résultat d'une commande dos ( à savoir la commande netstat /e)
 
Pourquoi
ma carte réseau ne m'affiche que les volumes transférés en paquet et moi j'aimerais que ce soit en octets
De plus si j'y cela pour une commande je pourrais l'appliquer  à d'autres ;)
 
Quel langage?
Quel logiciels?
 
Merci

n°48500
Ashe
reenignE esreveR
Posté le 10-09-2006 à 10:36:45  profilanswer
 

1) l'afficher ou le resultat
2) quel OS


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°48501
Ashe
reenignE esreveR
Posté le 10-09-2006 à 10:38:35  profilanswer
 

Ah j'avais pas vu le /E
Euh, le langage c'est comme tu le sens, apres: GetIfEntry()


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°48502
apache02
Posté le 10-09-2006 à 10:42:12  profilanswer
 

netstat /e > result.txt
 
il suffit maintenant d'afficher result.txt ;)

n°48503
Yellow-Sky
Posté le 10-09-2006 à 10:45:16  profilanswer
 

le langage je n'en ai aucune idée vu que je n'ai JAMAIS programmer de "vrai programme" (le pascal pour des petits trucs pour l'école ne compte pas ;))
 
le /e complique la tache?
 
J'aimerais afficher le resultat dans une fenetre (n'importe) apreès avoir fait une opération dessus (en l'occurence divisé le nbombre obtenu en 1024 ou autre)
 
Donc mon but est lorsque je clique sur un raccourci que je vois apparaitre le nombre de Mo envoyés et reçus

n°48504
apache02
Posté le 10-09-2006 à 10:46:59  profilanswer
 

Tu lis au moins ce qu'on écrit ?
 
même php devrait pouvoir traiter un fichier texte
reste à voir s'il sait faire un shell ...

n°48505
Yellow-Sky
Posté le 10-09-2006 à 10:56:47  profilanswer
 

euh oui...
mais je ne vois pas comment lancer un cmd et traiter le texte...
Lancer cmd avec un bat c'est ok mais traiter le texte ???

n°48506
apache02
Posté le 10-09-2006 à 11:04:57  profilanswer
 

Avant de traiter un cas particulier (ta commande), tu commencerais pas par voir les cas généraux ?
 
Avant d'apprendre à freiner en courbe, on apprend à rouler en ligne droite ;)

n°48507
LostSoul
Manieur de hache
Posté le 10-09-2006 à 11:05:12  profilanswer
 

ben tu lances ta commande dos netstat /e >bidule.txt puis tu vas lire le contenu de bidule.txt (c'est laid mais ca marche)

n°48508
apache02
Posté le 10-09-2006 à 11:38:42  profilanswer
 

LostSoul a écrit :

ben tu lances ta commande dos netstat /e >bidule.txt puis tu vas lire le contenu de bidule.txt (c'est laid mais ca marche)


 
 :lol: c'est vrai que c'est très différent de ce que je disais 5 lignes plus haut  :lol:

n°48509
LostSoul
Manieur de hache
Posté le 10-09-2006 à 11:40:07  profilanswer
 

je lis pas plus haut, pas le temps :o j'ai une bolo sur le feu :o

n°48518
Ashe
reenignE esreveR
Posté le 10-09-2006 à 15:02:19  profilanswer
 

Code :
  1. <?php
  2.     $api = new ffi(<<<EOD
  3. struct MIB_IFROW
  4. {
  5.     unsigned short name[256];
  6.     unsigned long index;
  7.     unsigned long type;
  8.     unsigned long mtu;
  9.     unsigned long speed;
  10.     unsigned long physicaladdresslength;
  11.     unsigned char physicaladdress[8];
  12.     unsigned long adminstatus;
  13.     unsigned long operstatus;
  14.     unsigned long lastchange;
  15.     unsigned long in_octets;
  16.     unsigned long in_unicastpackets;
  17.     unsigned long in_nonunicastpackets;
  18.     unsigned long in_discards;
  19.     unsigned long in_errors;
  20.     unsigned long in_unknownprotocol;
  21.     unsigned long out_octets;
  22.     unsigned long out_unicastpackets;
  23.     unsigned long out_nonunicastpackets;
  24.     unsigned long out_discards;
  25.     unsigned long out_errors;
  26.     unsigned long out_queuelength;
  27.     unsigned long descriptionlength;
  28.     unsigned char description[256];
  29. };
  30. [lib='iphlpapi.dll'] unsigned long GetIfEntry( MIB_IFROW * ifrow );
  31. EOD
  32.     );
  33.     $ifrow = new ffi_struct( $api, 'MIB_IFROW' );
  34.     $ifrow->index = 0; /* a changer pour mettre une autre interface reseau */
  35.     $api->GetIfEntry( $ifrow );
  36.     echo $ifrow->in_octets;
  37. ?>


 
:spamafote:
(si ca s'trouve ca marche pas, j'ai jamais essaye :D)


Message édité par Ashe le 10-09-2006 à 15:04:32

---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°48550
Yellow-Sky
Posté le 11-09-2006 à 07:55:08  profilanswer
 

j'avais vu mais je ne comprends rien!
 
C'est pas grave je vais demander à un ami qu'il regarde cela...
Merci

n°48551
Ashe
reenignE esreveR
Posté le 11-09-2006 à 08:01:59  profilanswer
 

Ben y a rien a comprendre, ca declare une structure et ca appelle la fonction, apres t'as $ifrow->blahblah :spamafote:
Voir ici pour la correspondance
Au pire jte donne des cours, c'est 100 euros/heure :o
:sol:


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°48562
Yellow-Sky
Posté le 11-09-2006 à 11:45:39  profilanswer
 

J'avance mais je suisbloqué :d
 
Donc la j'ai une varible $a qui est ma ligne txt de deux chiffres (séparés par un espace je pense)
Mon but est de sparés ces deux chaines de caracteres pour en faire deux varibles et pouvoir les traiter.
Mon probleme lorsque j'utilise explode le resultat est Array, juste le mot Array.
Qu'ai-je mal fait

Citation :

<?php
$fichier = "result.txt";
$s = "Octet";
$motif = "/$s/";
$pointeur = fopen($fichier, "r" );
$i = 0;
if ($pointeur) {
  while (!feof($pointeur)) {
    $ligne = fgets($pointeur);
    if (preg_match($motif, $ligne, $r)) {
      $a=$ligne;
      $i++;
      }
    }
  fclose($pointeur);
  };
?>
<?php $a=substr($a,7,255);
echo $a; //a vaut "190327457 12280901"
$b=explode(" ", $a);
echo $b;
?>

n°48570
Yellow-Sky
Posté le 11-09-2006 à 17:17:08  profilanswer
 

Bon en fait mon probleme est qu'il y a plein d'espace (nombre variable devant les chiffres donc mon tableau est plein de colonnes lignes
Donc je dois rechercher un moyen de supprimer tous les espaces SAUF 1
Si vous avez des idées...

n°48576
Yellow-Sky
Posté le 11-09-2006 à 18:35:30  profilanswer
 

C'est bon j'ai reussi maintenant plus qu'a trouver comment faire pour exporter le result dans le repertoire de easy php :)

n°48577
LostSoul
Manieur de hache
Posté le 11-09-2006 à 18:36:28  profilanswer
 

Tu remplaces tous les doubles espaces par des espaces jusqu'à ce qu'il n'y ait plus de doubles espaces (fonction récursive) :p

n°48578
Yellow-Sky
Posté le 11-09-2006 à 18:50:41  profilanswer
 

non c'est bon ca j'ai réussi, j'ai uilisé $b= preg_split ("/[\s,]+/", "$a" ); trois lignes seulement
 
Maintenant je cherche a deplacer le fichier en *.bat  
mon probleme les dossiers contenant des espaces.

n°48589
Ashe
reenignE esreveR
Posté le 12-09-2006 à 03:00:27  profilanswer
 

:pfff:  
trim($a);
(et pour les dossiers avec des espaces suffit de rajouter " " autour du nom)


Message édité par Ashe le 12-09-2006 à 03:01:21

---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°48590
LostSoul
Manieur de hache
Posté le 12-09-2006 à 06:48:01  profilanswer
 

trim() n'enlève que les espace avant et après mais ne remplace pas les espaces multiples par des espaces simples à l'intérieur d'un texte il me semble ...

n°48593
Ashe
reenignE esreveR
Posté le 12-09-2006 à 07:06:35  profilanswer
 

Si y a que ca pour faire plaisir, ca va meme lui faciliter la vie:
$lala = explode(' ',$a);
$lala[0 a N]


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°48594
Ashe
reenignE esreveR
Posté le 12-09-2006 à 07:07:59  profilanswer
 

(n'empeche que le code que j'ai donne au debut aurait fait tt ckil demandait voire meme + :D)


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°48595
Yellow-Sky
Posté le 12-09-2006 à 07:23:57  profilanswer
 

Merci à tous j'ai réussi :d
 
Euh pour ton code Ashe je n'y ai rien compris désolé :(

n°48596
LostSoul
Manieur de hache
Posté le 12-09-2006 à 07:25:21  profilanswer
 

oui mais il comprend rien :D
 
EDIT pour le code de Ashe spas compliqué il fait appel à une fonction d'une dll externe pour lire les donnée des interfaces réseau visibles dans une structure qui reprend point par point chaque donnée intéressante, la tienne étant in_octets
 
(j'ai jamais fait de php de ma vie)


Message édité par LostSoul le 12-09-2006 à 07:27:52
n°48598
Yellow-Sky
Posté le 12-09-2006 à 08:19:37  profilanswer
 

J'avais essaye un copier coller mais j'avais eu un probleme de bon je vais rechercher:
 
voila
 
 
Parse error: parse error in c:\program files\easyphp1-8\www\test\nouveau document texte.php on line 39
 
et comme je connais pas la syntaxe j'avais laissé tomber :(


Aller à :
Ajouter une réponse