Avatar billede heine_p Nybegynder
17. april 2003 - 21:19 Der er 11 kommentarer

FTP - mappe og filer

Kan man ikke på en meget simpelt måde sortere filer og mapper.
F.Eks.
<?
$list = ftp_nlist($ftp_conn, "");
while($i=0;$i<count($list);$i++){
  if ($type=="dir"){
    $mode = "dir";
  } else {
    $mode = "fil";
  }
  echo $list[$i] . " [". $mode ."]";
}
?>
Et lille udkast til hvordan det kunne se ud. Men hvordan definerer man $type??
Avatar billede schaefner Juniormester
17. april 2003 - 21:21 #1
Er det på din egen server du ønsker en liste?
Avatar billede heine_p Nybegynder
17. april 2003 - 21:23 #2
ja.... men gennem ftp-kommandoer og ikke local-kommandoer!
Avatar billede schaefner Juniormester
17. april 2003 - 21:24 #3
Hvorfor ikke bare bruge readdir?
Avatar billede heine_p Nybegynder
17. april 2003 - 21:28 #4
fordi jeg har lavet nogle mapper med FTP-program og derefter skulle jeg kunne se FTP-mapper og filer i IE
Avatar billede schaefner Juniormester
17. april 2003 - 21:29 #5
Det du ønsker er vel bare en liste over mapper på din server. Det kan dette script også:

<?php
$mappe = "mappe/";
$handle = opendir($dir)) {
while (($get = readdir($handle)) !== false) {
    if ($get != "." && $get != "..") {
        if (is_dir($dir."/".$get)) {
            $m_array[] = "$get";
        } else {
            $f_array[] = "$get";
        }
    }
}
closedir($handle);

if (isset($m_array)) {
    sort($m_array);
    for ($i=0; $i < count($m_array); $i++) {
        echo "<a href=\"$m_array[$i]/\">$m_array[$i]/</a><br>";
    }
    echo "<br>";
}
if (isset($f_array)) {
    sort($f_array);
    for ($i=0; $i < count($f_array); $i++) {
        echo "<a href=\"$f_array[$i]\">$f_array[$i]</a><br>";
    }
}
?>
Avatar billede schaefner Juniormester
17. april 2003 - 21:29 #6
Den skriver mapperne øverst og filerne nederunder. Iøvrigt sorteret alfabetisk.
Avatar billede heine_p Nybegynder
17. april 2003 - 21:30 #7
jeg har nogle andre mappenavne på FTP-Serveren (Virtual Path). Mapperne ser anderledes ud end de gør hvis ikke man bruger FTP-program
Avatar billede schaefner Juniormester
17. april 2003 - 21:31 #8
Men prøv:

<?php
$mappe = "mappe/";
$list = ftp_nlist($ftp_conn, $mappe);
for($i=0; $i <count($list); $i++){
    if (is_dir($dir."/".$list)) {
        $mode = "dir";
    } else {
        $mode = "fil";
    }
    echo "$list[$i] ($mode)";
}
?>
Avatar billede Slettet bruger
17. april 2003 - 21:33 #9
Håber du kan bruge nedenstående!
if (ftp_size($conn, $st_file) == -1)
{
    //EN MAPPE
}
else
{
    //EN FIL
}
Avatar billede Slettet bruger
17. april 2003 - 21:38 #10
Ovenstående giver ingen mening når det er taget ud af sammenhæng!
Du skal være sikker på at $st_fil eksisterer....
Går ud fra at der er noget i den her stil du skal bruge....

$filerogmapper = ftp_nlist($conn, $stitilmappe);
foreach($filerogmapper as $st_file)
{
    if (ftp_size($conn, $st_file) == -1)
    {
        //EN MAPPE
    }
    else
    {
        //EN FIL
    }
}
Avatar billede heine_p Nybegynder
17. april 2003 - 21:39 #11
jeg kan ikke rigtig få det til at fungere. Den viser kun i klammen: [fil]. Det nederste eksempel virker ikke
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