Avatar billede eazye Nybegynder
16. januar 2003 - 22:12 Der er 22 kommentarer og
3 løsninger

Checke om side svarer?

Hey Eksperter!

Hvordan er det muligt, ved php at checke om en side svarer, og i så fald skrive "svarer" og hvis ik den gør, skrive "svarer ikke" ?

- EazyE
Avatar billede jakoba Nybegynder
16. januar 2003 - 22:16 #1
"svarer" ? jeg forstår ikke. prøv at beskrive med et eksempel hvad du mener.
Avatar billede eazye Nybegynder
16. januar 2003 - 22:17 #2
eks:

if (side_svarer(http://www.eksperten.dk)) { echo "svarer"; }
else { echo "svarer ikke"; }

håber du forstår
Avatar billede tangveje Nybegynder
16. januar 2003 - 22:23 #3
Er det sådan her du mener?

$fp = fopen("http://www.eksperten.dk", "r") ;

if ($fp) { echo "svarer"; fclose($fp) }
else { echo "svarer ikke"; }
Avatar billede jakoba Nybegynder
16. januar 2003 - 22:26 #4
et gæt:
hvis serveren der hoster siden er oppe og virker så
    "svarer"
ellers
    "svarer ikke"

Netop på e er det en ret omfattende test da hver side kræver at mange programmer på serveren er oppe og aktive. database, serveren selv, ...

hvis det er nok KUN at teste om serveren er oppe kan du gøre det ved at prøve at hente et lille billede, fx  http://www.eksperten.dk/img/eksperten_logo_new.gif

if ( $fp = @fopen( "http://www.eksperten.dk/img/eksperten_logo_new.gif", "r" ) ) {
    // serveren svarer (er oppe)
    fclose( $fp );
} else {
    // serveren svarer ikke (er nede)
}
Avatar billede eazye Nybegynder
16. januar 2003 - 22:27 #5
aaah ja sæføli!
Avatar billede eazye Nybegynder
16. januar 2003 - 22:29 #6
hmm så er eksperten nede.! :( det virker ik!
Avatar billede tangveje Nybegynder
16. januar 2003 - 22:33 #7
Eksperten har lavet sådan at du ikke kan fange deres side fra din egen lokale server (IP tjeck sandsynligvis), prøv en anden side...
Avatar billede eazye Nybegynder
16. januar 2003 - 22:33 #8
ok ok
Avatar billede eazye Nybegynder
16. januar 2003 - 22:35 #9
det virker sQ stadig ikke..!
Avatar billede jakoba Nybegynder
16. januar 2003 - 22:37 #10
Åh ja, jeg kunne godt forestille mig at admin har sat en regel om at serveren kun må honorere requests fra en browser, ikke fra en anden server. (det er en god måde at undgå at databasen bliver rippet).

men på nogen servere vil det virke. prøv evt med http://hjem.get2net.dk/Jakob.Aggernaes/temp/smil1515.gif
Avatar billede eazye Nybegynder
16. januar 2003 - 22:39 #11
nope..!
Avatar billede tangveje Nybegynder
16. januar 2003 - 22:49 #12
Kan du prøve at vise os din kode som den ser ud nu?
Avatar billede rzj Nybegynder
16. januar 2003 - 22:57 #13
hvis det jakoba siger er rigtigt, så prøv denne:

<?php
//DIN CONFIG
$userFile = "http://www.eksperten.dk//img/eksperten_logo_new.gif"; //din_fil ændres til $raekke[filepath]) el. andet

//KEEP HANDS OF
function remotefilesize($file)
{
  // SETTINGS
  $max_file_size = "10000000"; // i bytes (har valgt 10 MB)

  // Open the file, but only read maximum size
  $fp = fopen($file, "r");
  $file_string = fread($fp, $max_file_size);
  fclose($fp);
$fileSize = strlen($file_string);
return $fileSize;
 
}
function sizeFormat ($dsize) { 
            if (strlen($dsize) <= 9 && strlen($dsize) >= 7) {                 
                $dsize = number_format($dsize / 1048576,1); 
                return "$dsize MB"; 
            } elseif (strlen($dsize) >= 10) { 
                $dsize = number_format($dsize / 1073741824,1); 
                return "$dsize GB"; 
            } elseif(strlen($dsize) <= 3) {
                      return "$dsize Bytes";
            } else { 
                $dsize = number_format($dsize / 1024,1); 
                return "$dsize KB"; 
            } 
}
echo sizeFormat(remotefilesize($userFile));
?>

Den læser/returnerer/outputter expertens logoets størrelse, og det burde (iflg. jakoba) betyder at serveren er oppe. Tilpas selv derefter...
/rasmus
Avatar billede eazye Nybegynder
16. januar 2003 - 22:58 #14
if ( $fp = @fopen( "http://hjem.get2net.dk/Jakob.Aggernaes/temp/smil1515.gif", "r" ) ) { echo "svarer"; fclose( $fp ); }
else { echo "svarer ikke"; }
Avatar billede rzj Nybegynder
16. januar 2003 - 22:59 #15
nå, ja - ta' dig ikke af kommenteringerne de er ikke henvendt dig og iøvrigt også noget hø ,-)
eksempelvis:
// SETTINGS
  $max_file_size = "10000000"; // i bytes (har valgt 10 MB)

drenge & piger>> jeg HAR fået skæld ud for den så DROP det ;-)
/raz
Avatar billede eazye Nybegynder
16. januar 2003 - 23:08 #16
Avatar billede eazye Nybegynder
16. januar 2003 - 23:17 #17
rzj >> er det ikke en lidt for lang måde at gøre en kort og simpel ting på? (jeg mener at tjekke om en server kører)
Avatar billede rzj Nybegynder
16. januar 2003 - 23:25 #18
eazye>>jo, jeg ved bare at ovenstående virker fordi jeg testede det inden jeg lagde det op. Du kan sikkert nøjes med dette:

//DIN CONFIG
$userFile = "http://www.eksperten.dk//img/eksperten_logo_new.gif"; //din_fil ændres til $raekke[filepath]) el. andet

//KEEP HANDS OF
function remoteServerCheck($file)
{
  // SETTINGS
  $max_file_size = "10000000"; // i bytes (har valgt 10 MB)

  // Open the file, but only read maximum size
  if($fp = fopen($file, "r")){
  echo "siden svarer";
  }else{
  echo "siden svarer ikke";
  }
}
remoteServerCheck($userFile);

...men det er jo ikke meget anderledes end de andre guter/gutinders forslag ;_)

MEN det virker - har lige testet fra min egen maskine...
Avatar billede jakoba Nybegynder
16. januar 2003 - 23:27 #19
he he. og imens har jeg ledt i gamle spørgsmål :-))
fandt: http://www.eksperten.dk/spm/196870
og at checke en remote server med et ping.
Avatar billede rzj Nybegynder
16. januar 2003 - 23:35 #20
og det er lidt noget hø, da du vil få "siden svarer ikke" hvis du eksempelvis angiver en fil der ikke eksiterer. Serveren behøver jo ikke være nede af den grund.
funktionen file_exists() kan ikke tilgå remote_filer - desværre...
/raz
Avatar billede eazye Nybegynder
17. januar 2003 - 00:05 #21
læg nogle svar, så skal i få jeres pts.. :D det virker.. bukker og takker
Avatar billede jakoba Nybegynder
17. januar 2003 - 00:12 #22
ok :-)
Avatar billede rzj Nybegynder
17. januar 2003 - 00:22 #23
glem det>>det var ikke anderledes en de andres forslag ;-)
/raz
Avatar billede rzj Nybegynder
17. januar 2003 - 00:24 #24
hov ! det røg på som svar - var ikke meningen - bare afvis !
Avatar billede tangveje Nybegynder
17. januar 2003 - 00:29 #25
Okay, så lad gå da :)
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