8797 sujets

Développement web côté serveur, CMS

Bien le bonjour à vous,

Je viens vous voir car j'aurais besoin de vos lumières.

J'ai actuellement besoin de faire des requêtes SNMP sur mon serveur local, puis d'afficher le résultat de ces requêtes.

Jusqu'ici tout vas bien, j'ai bien mes sorties du type:

INTEGER:99 etc.
qui sont envoyés vers un tableau

Ensuite, je doit parser ces entrées du tableau afin d'enlever tout ce qui n'est pas Numérique.

Encore une fois jusqu'ici tout vas bien, j'utilise un expression réguliere et la fonction preg_match(), afin de réaliser l'opération.

Le hic, c'est que je veux mettre le résultat de mes preg_match dans un seul et unique tableau afin de pouvoir réutiliser ses valeurs.

Et LA c'est le drame, car je suis incapable de faire ça, et j'aurais donc besoin de vos lumieres.

Voici le code Source:


<?php
//LoadAverage functions Realoded

function _loadAverage () {
	
//Initialisation de variables:

$cpuMaxLoad = '100';
$snmpServer = 'localhost';
$snmpCommunity = 'private';
$snmpTimeout = '1000000';
$snmpRetry = '2';

//Requetes SNMP.

$cpuReq = snmpget("$snmpServer","$snmpCommunity",".1.3.6.1.4.1.2021.11.11.0","$snmpTimeout","$snmpRetry");
$ramReq = snmpget("$snmpServer","$snmpCommunity",".1.3.6.1.4.1.2021.4.6.0","$snmpTimeout","$snmpRetry");
$hddReq = snmpget("$snmpServer","$snmpCommunity",".1.3.6.1.4.1.2021.9.1.9.1","$snmpTimeout","$snmpRetry");
$ethReq = snmpget("$snmpServer","$snmpCommunity",".1.3.6.1.2.1.2.2.1.7.2","$snmpTimeout","$snmpRetry");

//Parsing du résultat des requetes.
$snmpArrayResult = array ( "$cpuReq", "$ramReq", "$hddReq", "$ethreq" ); 
$iMax = count($snmpArrayResult);
echo ("Valeur IMax: "."$iMax" . "<br>");

for ( $i=0; $i<$iMax; $i++ ) {
	$pattern = "/\d+/";
	preg_match($pattern,$snmpArrayResult[$i],$matches);

echo ("La valeur "."$i"."=".$matches[0]."<br>");

}

}

_loadAverage();

?>


Donc ici mon tableau $snmpArrayresult contient bien 4 informations qui sont:

[0] = INTEGER:99
[0] = INTEGER:2002356
[0] = INTEGER:7
[0] = INTEGER:up(1)

maintenant avec ma boucle for je suis capable d'afficher les valeurs sans la partie Alphabetique gâce à la fonction preg_match qui ce charge de virer ce qui ne correspond pas au filtre dans notre string cible et de l'envoyer dans un tableau nommé (ici $matches).

Le truc c'est qu'a chaque iteration de la boucle, la valeur de $matches[0] viens etre remplacer par la nouvelle valeur.

OR moi je veux que le tableau s'incrémente, et ça, j'y arrive pas Smiley decu

Merci de votre aide en avance. Smiley lol
Modifié par DR I (02 Nov 2010 - 09:10)
Bien, je me répond à moi même Smiley lol ça pourrait peut-être servir à certains.

En fait, j'ai mis chaque résultats de la boucle dans un tableau non initialisé, du coup il incrémente.

Par contre, je ne trouve pas cette solution super sexy quand même.