Hi @all!
Ich würde gerne einen Online/Offline Checker für Domains haben…
z.B. wenn www.html.de nicht zu erreichen ist, soll auf meiner Homepage stehen, dass sie nicht Online ist und wenn sie Online ist, soll das eben da stehen…
Ich habe aber keine Ahnung wie ich das machen soll weiss jemand was?
jo kannst so lösen:
[PHP]
<?php $domain = "http://www.html.de"; $domain2 = preg_replace("%^http:\/\/www\.(.*)$%i","$1",$domain); if($socket = fsockopen($domain2,80,$e,$e2,3)) { fclose($socket); echo $domain." ist online"; } else { echo $domain." ist nicht online"; } ?>[/PHP]
ok…
jetzt bekomm ich aber noch ne fehlermeldung…
erstmal nochmal der code(eine kleine verbesserung hab ich gemacht)
[php]
[/php]
Fehlermeldung:
Fatal error: Call to undefined function: regexp() in /usr/export/www/vhosts/funnetwork/hosting/upl0ader/test/test.php on line 3
ja hatte ein fehler drin, ist oben schon editiert
Warning: fsockopen() has been disabled for security reasons in /usr/export/www/vhosts/funnetwork/hosting/upl0ader/test/test.php on line 4
http://www.html.de ist nicht online
heißt das, dass mein Webspace-Anbieter fsockopen() deaktiviert hat??
oder was ist falsch?
und wenn es deaktiviert ist… kann ich es noch irgendwie anders lösen?
ja das heißt das dein Anbieter es nicht erlaubg
HM andere Möglichkeit fällt mir nur das ein, aber das ist langsam und hässlich ^^
[PHP]<?php
$domain = "http://www.html.de";
if(@file($domain))
echo "online";
else
echo "offline";
?>[/PHP]
So hatte ich das auch schonmal… Nur das komische ist, egal, welche URL ich nehme, immer steht da „offline“… Ich habe keine Ahnung warum!
sry is mir iwie net eingefallen, aber so gehts meiner meinung nach sogar am besten:
[PHP]<?php
$domain = "http://www.html.de";
$ip = gethostbyname($domain);
if($ip != $domain)
echo $domain." ist online";
else
echo $domain." ist offline";
?>[/PHP]
Also langsam bekomme ich das Gefühl, dass mein Webspaceanbieter n bisschen komisch ist… Weil ich immernoch IMMER angezeigt bekomme, dass die Seite Offline ist -.-
also bei mir funktionieren alle codes, die ich dir bisher geschickt habe
Die einzige andere möglichkeit, die mir einfällt, bei der ich nochmehr bezweifle dass es geht, wäre dass hier:
[PHP]<?php
$domain = "html.de";
$go = true;
ob_start();
if(function_exists("passthru"))
{
passthru("ping ".$domain);
}
else if(function_exists("system"))
{
system("ping ".$domain);
}
else
{
echo("Funktionen nicht implementiert!");
$go = false;
}
$string = ob_get_contents();
ob_end_clean();
if($go)
{
if(preg_match("%\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b%is",$string))
$status = true;
else
$status = false;
echo ($status) ? $domain." ist online" : $domain." ist offline";
}
?>
[/PHP]