Php ile ping atma

0
Onaylı Üye
Üye
Katılım
27 Ekim 2007
Mesajlar
128
Merhaba arkadaşlar,
google da aradım taradım php ile ping atmaya ait bi çok kod buldum ama çalışanı bulamadım, elinizde varsa paylaşırsanız sevinirim.. amacım belirdeğim ip ye ping atmak ve eğer ping almıyorsa elimdeki kodu çalıştırmak saygılarımla
 
0
Onaylı Üye
Üye
Katılım
24 Mart 2008
Mesajlar
424
Merhaba arkadaşlar,
google da aradım taradım php ile ping atmaya ait bi çok kod buldum ama çalışanı bulamadım, elinizde varsa paylaşırsanız sevinirim.. amacım belirdeğim ip ye ping atmak ve eğer ping almıyorsa elimdeki kodu çalıştırmak saygılarımla

PHP:
<?php 
$ping = exec("ping 127.0.0.1"); 
print($ping);
?>

bu şekilde denediniz mi?
 
0
Onaylı Üye
Üye
Katılım
27 Ekim 2007
Mesajlar
128
denedim çalıştı ping attı ama benim istediğim eğer ping atılamıyorsa ekrana mesaj yazdırmak veya benim istediğim sayfaya yonlendirmek
 
0
Onaylı Üye
Üye
Katılım
24 Mart 2008
Mesajlar
424
denedim çalıştı ping attı ama benim istediğim eğer ping atılamıyorsa ekrana mesaj yazdırmak veya benim istediğim sayfaya yonlendirmek

PHP:
<?php 
 
if( exec("ping 127.0.0.1") ) {
  echo exec("ping 127.0.0.1");
} else {
 // Buraya istediğin mesajı yazabilirsin.
}
 
?>
 
0
Onaylı Üye
Üye
Katılım
26 Aralık 2006
Mesajlar
1,414
Tepki puanı
15
Konum
İstanbul
Peki birden fazla ip var ise nasıl yapabiliriz?
Yada ip listesinin olduğu bir txt dosyasının içinden nasıl okuturuz?
 
0
Onaylı Üye
Üye
Katılım
24 Mart 2008
Mesajlar
424
Peki birden fazla ip var ise nasıl yapabiliriz?
Yada ip listesinin olduğu bir txt dosyasının içinden nasıl okuturuz?

PHP:
<?php
$dosya = "iplist.txt";
$ac    = fopen($dosya, "r") or die ("Dosya Açılamadı!");
$okut  = fread($ac, filesize($dosya));
$ayir = explode("\n", $okut);
foreach($ayir as $ip) {
 echo "<b>".$ip."</b> : ".exec("ping $ip")."<br />";
}
fclose($ac);
?>

IP'leri satır satır ayırarak bunu kullanın
Örn :

Kod:
127.0.0.1
127.0.0.2
127.0.0.3
....
..


kod güncellendi
 
0
Onaylı Üye
Üye
Katılım
27 Ekim 2007
Mesajlar
128
hocam ping atılması için sunucumda bi ayar mı yapmam lazım, cünkü localde çalıştırdığımda ping atıyor ama alana attığımda çalışmıyor,
ayrıca localde ping atılmıyosa mesaj yazması gerekirken hata veriyor, mesajı yazmıyor ama alanda da ip gerçekte olsa mesajı yazıyor.. çok karıştı herşey :)
 
0
Onaylı Üye
Üye
Katılım
24 Mart 2008
Mesajlar
424
hocam ping atılması için sunucumda bi ayar mı yapmam lazım, cünkü localde çalıştırdığımda ping atıyor ama alana attığımda çalışmıyor,
ayrıca localde ping atılmıyosa mesaj yazması gerekirken hata veriyor, mesajı yazmıyor ama alanda da ip gerçekte olsa mesajı yazıyor.. çok karıştı herşey :)

Zaten ping attigin zaman geri donus olmazsa yada yazdigin IP gecersiz (makina bulunamadiysa) ise sisteme otomatik not duser, yukarida verdigim kodları alıp txt dosyasına rastgele bir sayı gir localde dene Ping istegi gecersiz diye bir mesaj birakir. Dosyaları server'a attigin zaman hangi IP'ye ping çekiyorsun ?
 
0
Onaylı Üye
Üye
Katılım
26 Aralık 2006
Mesajlar
1,414
Tepki puanı
15
Konum
İstanbul
hocam ping atılması için sunucumda bi ayar mı yapmam lazım, cünkü localde çalıştırdığımda ping atıyor ama alana attığımda çalışmıyor,
ayrıca localde ping atılmıyosa mesaj yazması gerekirken hata veriyor, mesajı yazmıyor ama alanda da ip gerçekte olsa mesajı yazıyor.. çok karıştı herşey :)

Hostinglerde exec komutu çalışmaz o şekilde.
Böyle bir şey olsa adamın makinasını mahvedersiniz.
Webde ping diye bir şey yoktur. :)
 
0
Onaylı Üye
Üye
Katılım
27 Ekim 2007
Mesajlar
128
makine benim hoca ya:)
benim amacım ping atıp eger makinem ping almıosa bana email attırmaktı,
ama olmadı
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
Unix tabanlı makinede ping [IP] komutu sürekli ping atar cevap gelirse, windows gibi durmaz. Durdurmak için -c [toplam_ping_sayisi] parametresi vermek gerekiyor.

exec çalışmıyorsa, php.ini'de disable functions'a eklenmiştir veya safe mod açıktır.

Ping'e cevap vermesi bir makinenin çalışır olduğunu göstermez. Bazı durumlarda network kardı çalışır durumda kalır ping'e cevap verir, ama servislere erişim sağlanamaz. Eğer makinanin çalışır durumda olduğunu kontrol etmek istiyorsan, soketten izlemen gerekir.

PHP:
$fp = fsockopen("IP ADRESI", "PORT", $errno, $errstr, 30);

 if (!$fp) {
 echo $errstr;
 }

farklı portlara atanmadıysa standart portlar
80 - web
22 - ssh
25 - smtp
110 - pop
21 - ftp
53 - dns
2082-2087 - cpanel
2222 - directadmin
vb.
 
Geri
Üst