Avatar billede lanworld_rippie Nybegynder
14. december 2002 - 17:03 Der er 11 kommentarer og
1 løsning

Fil system IGEN !!!

Hej igen alle sammen.. nu har jeg siddet og kigget på kommandoerne is_file og is_dir i håb om at jeg kunne finde ud af det her... og troede det virkede men nej :(

min kode er sådan her :

$dir = "/fairhost/Rippie3/lanworld.dk/"
$mappe = opendir("$dir");
while(false !== ($fil = readdir($mappe))) {

  if ($fil != "." && $fil != "..") {

    if (is_dir($mappe."/".$fil)) {

    echo "$fil<br>";

    }

    if (is_file($mappe."/".$fil)) {

    echo "$fil<br>";

    }
  }
}
closedir($mappe);

det som den skulle gøre var at først fjerner den . og .. og så skulle den ellers liste biblioteker ned, og så filer.

meeen heeh ja. der sker nada....
Avatar billede intenz Novice
14. december 2002 - 17:06 #1
jeg har lavet det samme system engang, min kode er:

<?
$handle = opendir("$start_dir");

while($file = readdir($handle)) {
$filer[]=$file;
}
closedir($handle);
sort($filer);
reset($filer);
while ($file = next($filer)) {
$is_dir = "$start_dir" . "/" . "$file";

if($file != '.' && $file != '..' && !is_dir($is_dir)) {
if(ereg(".jpg",strtolower($file)) || ereg(".jpeg",strtolower($file))) {
$file_list .= "<b><font color=\"0000FF\" face=verdana size=2><img src=$dir_pictures/jpg.gif>&nbsp;</font></b><a href='$start_dir/$file'><font face=verdana size=2>$file</font></a><br>";
} elseif (ereg(".gif",strtolower($file)) || ereg(".bmp",strtolower($file))) {
$file_list .= "<b><font color=\"0000FF\" face=verdana size=2><img src=$dir_pictures/gif.gif>&nbsp;</font></b><a href='$start_dir/$file'><font face=verdana size=2>$file</font></a><br>";
} else {
$file_list .= "<b><font color=\"0000FF\" face=verdana size=2><img src=$dir_pictures/fil.gif>&nbsp;</font></b><a href='$start_dir/$file'><font face=verdana size=2>$file</font></a><br>";
}

}
elseif($file != '.' && $file != '..' && is_dir($is_dir) ) {
$dir_list .= "<b><font color=\"FF0000\" face=verdana size=2><img src=$dir_pictures/dir.gif>&nbsp;</font></b><a href='?dir=$start_dir/$file'><font face=verdana size=2>$file</font></a><br>";
}
}

print "$dir_list";
print "$file_list";

?>
Avatar billede gizmo-gizmo Nybegynder
14. december 2002 - 17:06 #2
if (is_dir($mappe."/".$fil)) {

skal laves om til:

if (is_dir($dir."/".$fil)) {

og det samme med:  if (is_file($mappe."/".$fil)) {
Avatar billede lanworld_rippie Nybegynder
14. december 2002 - 17:09 #3
Hov min fejl.... det var noget jeg lige rettede det med $dir herinde.. så det er ikke det... gizmo...

koden er nu :

$dir = "/fairhost/Rippie3/lanworld.dk/"
$mappe = opendir("$dir");
while(false !== ($fil = readdir($$dir))) {

  if ($fil != "." && $fil != "..") {

    if (is_dir($dir."/".$fil)) {

    echo "$fil<br>";

    }

    if (is_file($dir."/".$fil)) {

    echo "$fil<br>";

    }
  }
}
closedir($dir);
Avatar billede lanworld_rippie Nybegynder
14. december 2002 - 17:13 #4
$dir = "/fairhost/Rippie3/lanworld.dk/";
$mappe = opendir("$dir");
while(false !== ($fil = readdir($dir))) {

  if ($fil != "." && $fil != "..") {

    if (is_dir($dir."/".$fil)) {

    echo "$fil<br>";

    }

    if (is_file($dir."/".$fil)) {

    echo "$fil<br>";

    }
  }
}
closedir($dir);

dette er koden som jeg bruger nu.. og det virker ikke...
Avatar billede gizmo-gizmo Nybegynder
14. december 2002 - 17:13 #5
Din $dir slutter på /

Din sti til at tjekke om det er en mappe er så:
if (is_dir("fairhost/Rippie3/lanworld.dk//".$fil)) {


dette skulle løse problemet:
if (is_dir($dir.$fil)) {

og

if (is_file($dir.$fil)) {
Avatar billede lanworld_rippie Nybegynder
14. december 2002 - 17:17 #6
Gizmo.... hmmm nu har jeg ændret lidt igen.. dit svar hjalp ikke... men koden ser sådan her ud..

$dir = opendir("/fairhost/Rippie3/lanworld.dk/");
while(false !== ($fil = readdir($dir))) {

  if ($fil != "." && $fil != "..") {

    if (is_dir($dir.$fil)) {

    echo "$fil<br>";

    }

    if (is_file($dir.$fil)) {

    echo "$fil<br>";

    }
  }
}
closedir($dir);

Men det lister slet ingen ting.... why ?
Avatar billede gizmo-gizmo Nybegynder
14. december 2002 - 17:22 #7
prøv med:

$dirname = "/fairhost/Rippie3/lanworld.dk/";
$dir = opendir($dirname);
while(false !== ($fil = readdir($dir))) {

  if ($fil != "." && $fil != "..") {

    if (is_dir($dirname.$fil)) {

    echo "$fil<br>";

    }

    if (is_file($dirname.$fil)) {

    echo "$fil<br>";

    }
  }
}
closedir($dir);
Avatar billede lanworld_rippie Nybegynder
14. december 2002 - 17:24 #8
Weee det virker.. MEN !!!! den sætter ikke bibliotekerne øverst... det kommer sådan her :

etellerandet.txt
main <-- det er et bibliotek
pics <-- det er et bibliotek
user <-- det er et bibliotek
connect.inc.php
index.php
left.php
nyside.php
right.php
style.css
test.txt
info.php
RoM <-- det er et bibliotek
admin <-- det er et bibliotek

hvorfor sortere den dem ikke ?
Avatar billede gizmo-gizmo Nybegynder
14. december 2002 - 17:25 #9
det er fordi den tager dem fra en ende af. Hvis det er en mappe eller en fil så bliver den vist.
Avatar billede lanworld_rippie Nybegynder
14. december 2002 - 17:30 #10
Kan man ikke sortere dem ??? sådan så at den viser FØRST biblioteker og derefter filer ?
Avatar billede lanworld_rippie Nybegynder
14. december 2002 - 17:51 #11
$dirname = "/fairhost/Rippie3/lanworld.dk/";
$dir = opendir($dirname);
while(false !== ($fil = readdir($dir))) {


  if ($fil != "." && $fil != "..") {

    if (is_dir($dirname.$fil)) {

    echo "<img src='sites/dirlogo.jpg'> $fil<br>";

    }

    if (is_file($dirname.$fil)) {

    echo "<img src='sites/fillogo.jpg'> fil<br>";

    }
  }
}
closedir($dir);

her har du lige min kode igen ....
Avatar billede gizmo-gizmo Nybegynder
14. december 2002 - 17:55 #12
<?
$dirname = "japansk/";
$dir = opendir($dirname);
while(false !== ($fil = readdir($dir))) {


  if ($fil != "." && $fil != "..") {

    if (is_dir($dirname.$fil)) {
        $mapper[] = $fil;
    }

    if (is_file($dirname.$fil)) {
        $filer[] = $fil;
    }
  }
}
closedir($dir);

sort($filer);
sort($mapper);

foreach($filer as $cur_file) {
    echo $cur_file . "<br>";
}
echo "<br><br>";
foreach($mapper as $cur_dir) {
    echo $cur_dir . "<br>";
}
?>
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