He planteado el siguiente procedimiento.
Código PHP:
Ver original
<?php //listado de maquinas "hostname1", "hostname2", "hostname3", ); //incluir solo maquinas encendidas { if ($retval != 0) { return false; } else { } } ?>
El asunto es que el volcado de la variable $host dentro del while, me devuelve cada uno de los hosts que están encendidos. Pero si bien el var_dump o haciendo un echo, es así, cuando quiero rehacerlo en array con el str_split o almacenando su valor en formato lista en un archivo de texto, solo aparece el último hostname.
He visto a partir de hacer un var_dump a $hosts que me está generando una array con cada uno de los hostnames, y todos con indice 0. Es decir 3 arrays con un solo hostname, en lugar de incluir en una sola array todos los hostnames.
No se me ocurre como "llamar" a la variable $hosts desde fuera de la sentencia while, como posible solución.
O cómo podría montar esto para obtener una array con solo los hosts encendidos.
Estos son los volcados de valores de las variables que estoy tratando.
var_dump($hostslist)
Código PHP:
Ver original
0 => string 'hostname1' (length=9) 1 => string 'hostname2' (length=9) 2 => string 'hostname3' (length=9)
var_dump($host)
Código PHP:
Ver original
string 'hostname1' (length=9) string 'hostname2' (length=9) string 'hostname3' (length=9)
var_dump($hosts)
Código PHP:
Ver original
Debería obtener una array con la incial (hostslist), solo que después de haberla "filtrado" con el ping