Avatar billede tfswebguy Nybegynder
05. august 2005 - 01:29 Der er 16 kommentarer og
1 løsning

script der viser mapper og filer virker ikke

print "
<table border='0' width='500px'>
<tr>
<td>Filnavn:</td>
<td>Filtype:</td>
<td>Fil størrelse:</td>
<td>Sidst ændret:</td>
</tr>";
$sti = "./";
$dh = @opendir($sti);
while(false !== ($fil=@readdir($dh))){
  if($fil != '.' && $fil != '..'){
    if(is_dir($fil))
      $mapper[]=$fil.'/';
    else
      $filer[]=$fil;
    }
    @closedir($dh);

    if($filer)
      natcasesort($filer);

    if($mapper)
      natcasesort($mapper);

    $filer=array_merge($mapper,$filer);
    foreach($filer as $fil)
      print "
      <tr>
      <td>". $fil ."</td>
      <td> </td>
      <td> </td>
      <td> </td>
    </tr>";
    print "</table>";


Denne kode viser INTET som helst af hvad der er i den aktuelle mappe. Sætter jeg $sti til "/" skriver den bare "Apache"

Hvad er der i vejen med koden?
Avatar billede Slettet bruger
05. august 2005 - 01:56 #1
Hvis du fjerner de snalbea'er der undertrykker fejlmeddelelser kan det være du får nogle fejlbeskeder du kan handle efter.

Mvh
Pacroon
Avatar billede tfswebguy Nybegynder
05. august 2005 - 13:03 #2
nå ja :$
Når man mangler søvn, overser man de små detaljer :)
Avatar billede tfswebguy Nybegynder
05. august 2005 - 13:48 #3
Warning: readdir(): 44 is not a valid Directory resource in C:\apache\htdocs\index1.php on line 754
Avatar billede jaw Nybegynder
05. august 2005 - 14:35 #4
Prøv:
$sti = ".";
Avatar billede tfswebguy Nybegynder
05. august 2005 - 14:44 #5
Samme fejl
Avatar billede jaw Nybegynder
05. august 2005 - 14:52 #6
Du har vist din closedir() for langt oppe:

print "
<table border='0' width='500px'>
<tr>
<td>Filnavn:</td>
<td>Filtype:</td>
<td>Fil størrelse:</td>
<td>Sidst ændret:</td>
</tr>";
$sti = ".";
$dh = opendir($sti);
while(false !== ($fil=readdir($dh))){
  if($fil != '.' && $fil != '..'){
    if(is_dir($fil))
      $mapper[]=$fil.'/';
    else
      $filer[]=$fil;
    }

    if($filer)
      natcasesort($filer);

    if($mapper)
      natcasesort($mapper);

    $filer=array_merge($mapper,$filer);
    foreach($filer as $fil)
      print "
      <tr>
      <td>". $fil ."</td>
      <td> </td>
      <td> </td>
      <td> </td>
    </tr>";
    print "</table>";
  }
    closedir($dh);
Avatar billede jaw Nybegynder
05. august 2005 - 14:55 #7
Og for lige at tilpasse det, til hvad jeg tror du prøver på, så vil det se sådan ud :)

print "
<table border='0' width='500px'>
<tr>
<td>Filnavn:</td>
<td>Filtype:</td>
<td>Fil størrelse:</td>
<td>Sidst ændret:</td>
</tr>";
$sti = ".";
$dh = opendir($sti);
while(false !== ($fil=readdir($dh))){
  if($fil != '.' && $fil != '..'){
    if(is_dir($fil))
      $mapper[]=$fil.'/';
    else
      $filer[]=$fil;
    }
}
closedir($dh);

    if($filer)
      natcasesort($filer);

    if($mapper)
      natcasesort($mapper);

    $filer=array_merge($mapper,$filer);
    foreach($filer as $fil)
      print "
      <tr>
      <td>". $fil ."</td>
      <td> </td>
      <td> </td>
      <td> </td>
    </tr>";
    print "</table>";

Ellers går den i selvsving når du udskriver, korrekt?
Avatar billede tfswebguy Nybegynder
05. august 2005 - 15:17 #8
det hjalp..

Meeen, burde den ikke sortere mapper først, derefter filer? For det gør den ikke
Avatar billede jaw Nybegynder
05. august 2005 - 15:34 #9
Sikker? Min sorterer så alle mapper udskrives først og dernæst filer.
Avatar billede tfswebguy Nybegynder
05. august 2005 - 15:36 #10
min viser:
3d (mappe)
admin.PHP
blacklist.php
chat (mappe)
osv...
Avatar billede tfswebguy Nybegynder
05. august 2005 - 15:37 #11
Var en fejl et sted.. Fik det rettet :)
Avatar billede tfswebguy Nybegynder
05. august 2005 - 15:40 #12
NEJ :'(
Det er når jeg vælger en undermappe fejlen opstår :(
Avatar billede jaw Nybegynder
05. august 2005 - 15:45 #13
No problemo:

print "
<table border='0' width='500px'>
<tr>
<td>Filnavn:</td>
<td>Filtype:</td>
<td>Fil størrelse:</td>
<td>Sidst ændret:</td>
</tr>";
$sti = "./admin";
$dh = opendir($sti);
while(false !== ($fil=readdir($dh))){
  if($fil != '.' && $fil != '..'){
    if(is_dir($sti."/".$fil)) {
      $mapper[]=$fil.'/';
    }
    else
      $filer[]=$fil;
    }
}
closedir($dh);

    if($filer)
      natcasesort($filer);

    if($mapper)
      natcasesort($mapper);

    $filer=array_merge($mapper,$filer);
    foreach($filer as $fil)
      print "
      <tr>
      <td>". $fil ."</td>
      <td> </td>
      <td> </td>
      <td> </td>
    </tr>";
    print "</table>";

:)
Avatar billede tfswebguy Nybegynder
05. august 2005 - 15:51 #14
Som det dog kan være små bagateller :)
Avatar billede jaw Nybegynder
05. august 2005 - 15:54 #15
Ja, men stadig så betydningsfulde :)
Avatar billede tfswebguy Nybegynder
05. august 2005 - 15:54 #16
smid et svar :D
Avatar billede jaw Nybegynder
05. august 2005 - 15:55 #17
Will do :)
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