Avatar billede trik Nybegynder
14. februar 2004 - 11:27 Der er 12 kommentarer og
1 løsning

Kontrollere om websted "fungere" på enten URL eller IP

Kan man kontrollere om et websted fungere, ved enten at oplyse en url-adresse, eller en IP?
Avatar billede domaz.dk Novice
14. februar 2004 - 12:24 #1
Hvis du tænker på at tjekke om filen er der... f.eks. index.php

if (file_exists("http://domaz.dk/index.php")) {

TRUE

} else {

FALSE

}
Avatar billede trik Nybegynder
14. februar 2004 - 13:23 #2
Umiddelbart kan jeg ikke få det til at virke. Jeg har også prøvet eksemplet på http://dk.php.net/manual/en/function.file-exists.php, men også uden held. Funktionen skulle virke i PHP-versionerne 3 og 4. Jeg benytter version 4.3.1

Jeg har lavet lidt om på eksemplet fra php.net:

<?php
$filename = 'http://domaz.dk/index.php';

if (file_exists($filename)) {
  echo "The file $filename exists";
} else {
  echo "The file $filename does not exist";
}
?>


Men.... !
Der står som note, at funktionen til rapotere at filen ikke eksistere, på NIX systemer. Hvad er dette for noget?
Avatar billede tefcke Nybegynder
14. februar 2004 - 13:44 #3
trik >> Har du kigget på Network Funktions? http://dk.php.net/manual/en/ref.network.php

Skal lige nævnes at nogen af funktionerne kun virker på Nix maskiner!

Kig evt. på http://dk.php.net/manual/en/function.gethostbyname.php!
Kan godt lave et eksempel, men det er rimlig simpelt!
Avatar billede trik Nybegynder
14. februar 2004 - 14:09 #4
Meningen er at jeg skal ligge en kode ud, på en gratis web-host, som der skal sende brugeren videre til min egen webhost. Altså på min egen web-server. Problemet er, at jeg skifter IP, når mit modem har været slukket. Så det der skal ligge på den gratis web-host, er en kode, der kontrolere om en angivet IP er gyldig, at min IP stadig er den der er angivet i koden. Hvis det er tilfældet at den ikke kan finde min IP skal der komme en tekst op, hvor der står at serveren er nede.
Avatar billede tefcke Nybegynder
14. februar 2004 - 14:18 #5
Avatar billede trik Nybegynder
14. februar 2004 - 14:26 #6
Ja, det ligner noget. Men er det muligt at ændre i koden, så den ikke kommer frem med en fejlmeddelelse hvis siden ikke findes?
Avatar billede tefcke Nybegynder
14. februar 2004 - 14:37 #7
<?php
$ip_or_host = "php.net";
$fp = fsockopen($ip_or_host, 80, $errno, $errstr, 15);
if (!$fp) {
    echo "ERROR: Kunne ikke komme i kontakt med host<br />\n";
} else {
    print("Ip/host ({$ip_or_host}) is up and running!");
    fclose($fp);
}
?>
Avatar billede trik Nybegynder
14. februar 2004 - 14:41 #8
Hvis man indsætter en URL der ikke eksistere, kommer den op med en fejltekst. Kan dette ikke fjernes?
Avatar billede tefcke Nybegynder
14. februar 2004 - 14:53 #9
Du kan slå warnings fra med http://php.net/error_reporting
Og den anden fejltekst som kommer op er den som står i scriptet "ERROR: Kunne ikke komme i kontakt med host"
Avatar billede trik Nybegynder
14. februar 2004 - 14:55 #10
Yes, det var det! Smider du et svar, får du pointene...!
Avatar billede tefcke Nybegynder
14. februar 2004 - 14:56 #11
ini_set() og ini_restore() er nok bedre:
Følgende kode slår warnings fra inden scriptet bliver udført, og sætter errro_reporting tilbage til sin oprindelige værdi efter scriptet er udført:

<?php
ini_set ('error_reporting', E_ALL ^ E_WARNING);
$ip_or_host = "php.net";
$fp = fsockopen($ip_or_host, 80, $errno, $errstr, 15);
if (!$fp) {
    echo "ERROR: Kunne ikke komme i kontakt med host<br />\n";
} else {
    print("Ip/host ({$ip_or_host}) is up and running!");
    fclose($fp);
}
ini_restore('error_reporting');
?>
Avatar billede tefcke Nybegynder
14. februar 2004 - 14:57 #12
Men jeg vil anbefale det sidste eksempel jeg skrev :-)
Avatar billede trik Nybegynder
14. februar 2004 - 14:58 #13
Okay, tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester