Avatar billede shjorth Nybegynder
05. februar 2002 - 14:44 Der er 8 kommentarer og
1 løsning

Ftp status....?

Jeg har en FTP server kørende på
ftp://xx.xxx.xx.xxx (G6)
og en hjemmeside på
http://xx.xxx.xx.xxx (apache)

På den hjemmeside, vil jeg gerne lave et script, som viser status på min ftp server.

Er der nogle der kan forklare hvordan man gør det i php?
Noget med ftp_connect() osv :)
Avatar billede eflow Nybegynder
05. februar 2002 - 14:52 #1
hvis du vil se om den er online gør du sådan her:
if(fsockopen("Din ip", "21"){
//online ting
}else{
//offline ting
}
Avatar billede shjorth Nybegynder
05. februar 2002 - 14:54 #2
ved du hvordan man pinger den?
Avatar billede Noone Nybegynder
05. februar 2002 - 14:55 #3
Eller man kunne hente en ps -A og søge i output efter navnet på FTP serveren...

På den anden side, G6 er til win ik?
Avatar billede shjorth Nybegynder
05. februar 2002 - 14:56 #4
if(fsockopen("Din ip", "21"){
//online ting
}else{
//offline ting
}

Er perfekt! Hvis jeg så bare kan få pingtiden til serveren frem også
Avatar billede eflow Nybegynder
05. februar 2002 - 14:58 #5
jeg har osse til du kan pinge, du skifter bare $host til den rigtige ip/host whatsoever:
<?
$host = '195.184.125.74';
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
        $command = 'ping.exe -n 1';
else
        $command = 'ping -c 1';
$host = escapeshellcmd($host);
$ping = popen($command.' '.$host, 'r');
while (!feof ($ping)) {
        $buffer = fgets($ping, 4096);
        ereg(" time=[0-9]+",$buffer,$pingtime);
        $value = substr($pingtime[0],1,strlen($pingtime[0]));
        $streng = $value[5].$value[6].$value[7].$value[8]."&nbsp;";
        flush();
        }
if($streng == "&nbsp;"){
        echo "0 Ms";
        }else{
        echo $streng." Ms";
        }
pclose($ping);
?>

menmed den her så ser den om compueteren svare....ikke ftp porten....så hvis det kun er ftp'en så burde du bruge den anden...
Avatar billede eflow Nybegynder
05. februar 2002 - 15:01 #6
web>> det kan du kun ved at pinge med det jeg lige har skrevet....men så pinger du computeren....det kan samles så den ser om ftp'en er online, hvis den er så pinger den. og ser ms....
Avatar billede shjorth Nybegynder
05. februar 2002 - 15:03 #7
Jep, ! Skide super..
Nu jeg er så godt igang, så har jeg endnu et spørgsmål...
Kan jeg få udskrevet en liste over mapper på serveren?
Avatar billede shjorth Nybegynder
05. februar 2002 - 15:06 #8
<?php
if(fsockopen("80.197.57.223", "21")){
print("<font size=1 face=verdana color=green><b>Server is online<br>Your ping time is: ");
$host = '80.197.57.223';
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
        $command = 'ping.exe -n 1';
else
        $command = 'ping -c 1';
$host = escapeshellcmd($host);
$ping = popen($command.' '.$host, 'r');
while (!feof ($ping)) {
        $buffer = fgets($ping, 4096);
        ereg(" time=[0-9]+",$buffer,$pingtime);
        $value = substr($pingtime[0],1,strlen($pingtime[0]));
        $streng = $value[5].$value[6].$value[7].$value[8]."&nbsp;";
        flush();
        }
if($streng == "&nbsp;"){
        echo "0 Ms";
        }else{
        echo $streng." Ms";
        }
pclose($ping);
}else{
print("<font size=1 face=verdana color=red><b>Server is online");
}
?>

men den skriver at pingtiden er 0 milisekundter
Avatar billede eflow Nybegynder
05. februar 2002 - 15:16 #9
hmmm...ved sq ikke hvorfor....
det her virker fint:
<?
function pingip($ip)
{
    if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN'){
        $command = 'ping.exe -n 1';
    } else {
        $command = 'ping -c 1';
    }
   
    $host = escapeshellcmd($ip);
    $ping = popen($command.' '.$host, 'r');
    while (!feof ($ping)) {
        $buffer = fgets($ping, 4096);
        ereg(" time=[0-9]+",$buffer,$pingtime);
        $value = substr($pingtime[0],1,strlen($pingtime[0]));
        $streng = $value[5].$value[6].$value[7].$value[8]."&nbsp;";
        flush();
    }
   
if($streng == "&nbsp;"){
        echo "Offline eller Localhost";
        }else{
        echo $streng." Ms";
        }
pclose($ping);
}
echo pingip("80.197.57.223");
?>
jeg tror det er fordi den prøver at pinge localhost......
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