Avatar billede mxs Nybegynder
27. marts 2004 - 22:38 Der er 1 løsning

Problemer med is_file og is_dir

Hey

Jeg er ved at lave en funktion som tjekker en mappe igennem efter filer og mapper. Det vil sige at funktionen sorterer mapper og billed filer så hvis man trykker på en mappe så kommer den nye mappes indhold og hvis man trykker på et billed så kommer man til en side som viser det aktuelle billed.

Det er der egentlig ingen ben i, men mit script opfører sig sådan at hvis den rammer på en mappe først så opfører alle de andre fil i den pågældende mappe sig også som mappe og visa versa hvis den kommer til en billed fil.

Funktionen ser sådan ud:
<?php

function map($dir) {
if(($aaben = opendir($dir)) !== false) {
$i = -1;

    print("<table border=1><tr>");

        while(($file = readdir($aaben)) !==false and ($i <= 23)) {

            if($file !=='.' && $file !== '..' && $file !== 'Thumbs.db'){

            $tjek = explode("/" , $dir);
            $enden = end($tjek);

                if(is_dir($enden)){
                    print("<td><a href=\"vis_mappe?map=$dir$file\">$file - $enden</a></td>");

                } else {
                    print("<td><a href=\"vis_billed?billed=$dir/$file\">$file - $enden</a></td>");

                }//If løkken som tjekker om det er en mappe eller en fil slutter


            }//if løkken lukkes


                    if($i == 3){
                        $i = 0;
                        print("</tr><tr>");

                    }//if løkken som tjekker $i lukkes

                    $i++;


        }//while løkken lukkes

        closedir($aaben);


    print("</tr></table>");
    }//if løkken som tjekker om der er en dir, lukkes



}

?>

Det er egentlig funktionen som styrer det hele!!

Hvad er der galt. Mit hoved kan ikke klare at tænke mere over det.

Personligt tror jeg selv at den tjekker på den forkerte måde, men jeg ved det ikke.

Håber i forstår.

På forhånd tak,
Martin Slot
Avatar billede coderdk Praktikant
28. marts 2004 - 14:31 #1
Det er her den er gal:

  $tjek = explode("/" , $dir);

$dir vil jo altid (i det aktuelle kald) være det samme. Så vidt jeg lige kan se vil $enden jo altid være et dir...
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