Avatar billede lynx-dlk Nybegynder
05. juli 2003 - 00:45 Der er 9 kommentarer og
1 løsning

FTP visning på WEB

hejsa..

jeg sidder lige og leger lidt med en side der gerne skulle vise en mappe på min ftp server som links i en browser.

sådan så man kunne downloade filerne direkte fra websiden.

har prøvet lidt forskelligt, men kan ikke rigtigt få noget til at virke ordentligt, så det kunne jo være i havde noget der duede.

Lynx-DLK
Avatar billede Slettet bruger
05. juli 2003 - 00:57 #1
<?php
$path = opendir("./");
$dirlist = array();
while (false !== ($dir = readdir($path))){

    if ($dir == "." || $dir == "..") {
continue;
    }else{
    $dirlist[] = $dir;
    }
}
closedir($path);

sort($dirlist);

for($i = 0; $i < count($dirlist); $i++) {
echo"<a href=\"$dirlist[$i]/\">$dirlist[$i]/</a>";

}
clearstatcache();
?>

fundet på
http://www.eksperten.dk/spm/232514
Avatar billede lynx-dlk Nybegynder
05. juli 2003 - 01:07 #2
ja det er faktisk godt :) men hvordan gør jeg sådan, at filerne kan downloades
Avatar billede Slettet bruger
05. juli 2003 - 01:32 #3
det ka de da også godt?
Avatar billede lynx-dlk Nybegynder
05. juli 2003 - 01:33 #4
nej, for det er ikke i samme mappe filerne ligger
Avatar billede Slettet bruger
05. juli 2003 - 01:36 #5
<?php
$path = opendir("./");
$dirlist = array();
while (false !== ($dir = readdir($path))){

    if ($dir == "." || $dir == "..") {
continue;
    }else{
    $dirlist[] = $dir;
    }
}
closedir($path);

sort($dirlist);

for($i = 0; $i < count($dirlist); $i++) {
echo"<a href=\"".$path."/".$dirlist[$i]."\">".$dirlist[$i]."</a><br>";

}
clearstatcache();
?>

måske?
Avatar billede Slettet bruger
05. juli 2003 - 01:37 #6
i $path = opendir("./"); erstatter du punktummet med den sti filerne ligger i!
Avatar billede Slettet bruger
05. juli 2003 - 01:40 #7
og forresten hvis dette (http://www.eksperten.dk/spm/317927) er løst må du hellere lukke
Avatar billede gonza.dk Nybegynder
05. juli 2003 - 03:10 #8
Ret brugernavn + kodeord + server og det spiller, vær dog opmærksom på at brugernavn + kodeord kan ses af den besøgende. Hvis du kan logge anonymt ind på ftp-serveren lader du bare brugernavn + kodeord være tomt

<?php
############################################################################
## Dette script er lavet af René Schwanda
## Det blev lavet en sen nat d. 3/7 -03
## Scriptet kan frit bruges, alt brug af dette script sker på eget ansvar
##
## Mvh.
## René Schwanda rene@schwanda.dk www.gonza.dk
############################################################################
$mytitle    = "List files";                    //Titlen på siden
$icondir    = "http://gonza.dk/icons/";            //Mappen hvor icons filerne fra apache ligger i (husk slash (/) til sidst)


$ftp_server        = 'ftp.domain.dk';    //ftp serveren UDEN ftp:// KUN ftp.domain.dk

//OBS! Både brugernavn OG password vil være synligt for brugeren, hvorfor der KUN skal være læseadgang for brugernavnet
$ftp_brugernavn    = 'brugernavn';            //brugernavn på ftp-serveren (blank hvis anonym)
$ftp_password    = 'kodeord';            //password på ftp-serveren (blank hvis anonym)

//Definere hvad mappe der skal kikkes i på ftp-serveren
$ftp_dir        = $_GET['dir'];
if (!isset($dir)){
$dir = "/";
}

//laver phpself
$phpself        = $_SERVER["PHP_SELF"];
echo "
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
    <title>".$mytitle."</title>
<meta name=\"generator\" content=\"TSW WebCoder\">
</head>

<body>";

// Forbinder til ftp serveren
$connect = ftp_connect($ftp_server); 

// logger ind med brugernavn/password
$login_result = ftp_login($connect, $ftp_brugernavn, $ftp_password); 

// tjecker forbindelsen og udskriver fejl-/succesbesked
if ((!$connect) || (!$login_result)) { 
        echo "FTP forbindelsen fejlede!<br>";
        echo "Prøvede at forbninde til ".$ftp_server."<br>"; 
        exit; 
    } else {
        echo "Forbindelsen til ".$ftp_server." forløb succesful<br>";
    }


//udskriver/laver 'menu'
$menu = explode("/", $ftp_dir);
echo "<a href='".$phpself."'>root</a>";
foreach ($menu as $showmenu) {
    if (!isset($menudir)){
        $menudir = $showmenu;
    }
    else {
    $menudir = $menudir."/".$showmenu;
    }

echo "/<a href='".$phpself."?dir=".$menudir."'>".$showmenu."</a>";
}

echo "<br>";

// lister filerne i mappen angivet med $ftp_dir
$filelist = ftp_nlist($connect, $ftp_dir);

// Udskriver til skærmen
foreach ($filelist as $showfilesti) {
    $showfilearray    = explode("/", $showfilesti);
    $showfilearray    = array_reverse($showfilearray);
    if ($showfilearray[0] == ''){
        $showfile = $showfilearray[1];
    }
    else {
        $showfile = $showfilearray[0];
    }

    //får fat i filstørrelsen
    $stifil        = $ftp_dir."/".$showfile;
    $filesize    = ftp_size($connect, $stifil);

    //finder extension på filerne
    $pathinfo        = pathinfo($stifil);
    $extension        = $pathinfo["extension"];
    $extension        = strtolower($extension);
   
    //hvis filstørrelsen = -1, fungerer som mappe
    if ($filesize == '-1'){
        $extimage        = 'dir.gif';
        $extension        = 'dir';
        $show_filesize    = "";
        $fileurl        = "<a href='".$phpself."?dir=".$ftp_dir."/".$showfile."'>".$showfile."</a>";;
    }
   
    //ellers er det vel en fil
    else{
   
        //laver tekst om filstørrelsen
       
        $show_filesize    = " (".$filesize." bytes)";
       
            if ($ftp_brugernavn == ''){
              $fileurl        = "<a href='ftp://".$ftp_server."/".$ftp_dir."/".$showfile."'>".$showfile."</a>";
            }
              else {
            $fileurl        = "<a href='ftp://".$ftp_brugernavn.":".$ftp_password."@".$ftp_server."/".$ftp_dir."/".$showfile."'>".$showfile."</a>";
            }
        //finder billede til extension, billederne er fra $icondir
        if (($extension == 'jpg') OR ($extension == 'gif') OR ($extension == 'png') OR ($extension == 'bmp')){
          $extimage    = 'image2.gif';
        }
          else if (($extension == 'mpeg') OR ($extension == 'avi')){
          $extimage    = 'movie.gif';
          }
          else if (($extension == 'txt')){
          $extimage    = 'text.gif';
          }
          else if (($extension == 'gif')){
          $extimage    = 'compressed.gif';
          }
          else {
          $extimage    = 'unknown.gif';
        }
    }
   
    //udskriver til skærmen
    echo "<a href='#'><img src='".$icondir.$extimage."' title='".$extension."' border='0'></a>".$fileurl.$show_filesize."<br>";

}

//lukker forbindelsen til mysql
ftp_close($connect); 

echo "
</body>
</html>";
?>
Avatar billede nmh Nybegynder
05. juli 2003 - 15:44 #9
Hvad med at benytte browseren som FTP-klient?

Internet Explorer fungerer fint som FTP-klient. Du skal blot under Internetindstillinger, Avanceret sætte 2 check-mærker:
Brug FTP-mappevisning og Brug passiv FTP.

For at komme i kontakt med siden skriver du så i URL-linien f.eks:

FTP://www.minFTPside.dk/Minefiler

Du vil så få vist alle dine filer og kataloger påstedet
minefiler.

For at hente filer skal du benytte kopier til mappe. Man gemmer filer ved plot at benytte indsæt.

Hvis det er nødvendigt med brugernavn og adgangskode kan det indtastes ved at vælge Log på som i Fil-menuen.

Du kan så blot fra din web-side lave et link til ftp-siden.
Avatar billede lynx-dlk Nybegynder
06. juli 2003 - 14:32 #10
Det hele virkede fint :) der ser godt ud nu.. takker mange gange.

jeg vil ikke bruge explorer mere, den fejler for meget.
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