Om du ligger på linux/unix server, så borde det funka med
<?
$output=system("ping webforum.nu");
echo $output;
?>
12 svar · 401 visningar · startad av Papa Deoo
Om du ligger på linux/unix server, så borde det funka med
<?
$output=system("ping webforum.nu");
echo $output;
?>
Har ett litet problem här va...
Jag kör följande kod, och jag vill att enbart $data skall skrivas ut, någon som vet hur man gör för att inte skriva ut resten på skärmen, alltså det som genereras av system() ?
<?PHP
$command="ping lunarstorm.se -t ttl -c1 | tail -1 | awk '{print $4 \" \" $5}'";
$output = system($command);
system("exit(0)");
$data = str_replace('PING', '', $output);
echo "DATA: $data";
?>
system() skriver ut allt den får på skärmen, byt ut det mot exec() istället, den skriver inte ut något.
Läs mer på http://www.php.net/manual/en/function.exec.php
Här behöver du ju inte tänka på det, men om du ska anända nåt som en in^H^Hanvändare matar in, så glm inte att använda escapeshellcmd()
//Jed
Så här kollar jag datorerna i vårt i nät.
Hämtar förvisso IP:et från en MySQl-db men det kan ju enkelt ändras.
$datorer = mysql_query("SELECT * FROM computers ORDER BY computername", DB);
while ($dator = mysql_fetch_array($datorer)) {
exec("ping -c 2 $dator[ip]", $data, $value);
if ($value == 0) {
print ("network_on.gif\n"); }
else {
print ("network_off.gif\n"); }
}
2:an anger antalet försök innan det betraktas som en timeout ifall maskinen inte är igång. Tar lite tid om det är flera maskiner som time'ar ut...
[Redigerat av FlashX den 20 sep 2001]
hej.
Hur gör man om detta script så att den bara pingar 1 dator?
alltså utan mysql.. (jag är väldigt ny på php) tack!
exec("ping -c 2 [b]datornamn eller IP här[/b]", $data, $value);
if ($value == 0) {
echo "uppe";
}
else {
echo "nere";
}
det fungerar inte
"Parse Error" blir det...bör tilläggas att jag använder Mac OS X server 2.0.
vad betyder egentligen exec("ping -c 2 127.0.0.1", $data, $value);
Vad menas med $data och $value?
vad betyder egentligen exec("ping -c 2 127.0.0.1", $data, $value);
Betyder kör kommandot/programmet " ping -c 2 127.0.0.1 "
ping är ett unix kommando för att skicka ett litet paket till en server och se om man får svar.
Ingen aning om Macen har ett ping kommando.
Som det är skrivet ovan, så fylls arrayen $data med utdatan från kommandot och $value talar om ifall kommandot returnerade OK. I det här fallet om servern svarade.
Kollade lite. Och det verkar som Mac OS X har ping. http://www.resexcellence.com/hack_html_00/10-04-00.shtml
ehh, ja...självklart har Mac OS X ping... det är inte det som är problemet, skulle jag tro......ska undersöka
Parse error: parse error in /Library/WebServer/Documents/ping.php on line 1
får jag nu... med exakt denna kod:
<?
exec("ping -c 2 192.168.10.80", $data, $value);
if ($value == 0) {
echo "uppe";
}
else {
echo "nere";
}
?>