Avatar billede rune00 Nybegynder
27. november 2006 - 23:03 Der er 8 kommentarer

Åbne korrekt directory af filer

Hej eksperten brugere

Jeg prøver at hente en række filer ud fra en undermappe. Problemet er, at den også henter filerne fra mappen hvor min php fil ligger.

eksempelvis vil jeg hente alle filerne i mappen billeder:
/hjemmeside/billeder/01.jpeg
hvilket virker fint, dog henter min løkke også alle filerne i mappen:
/hjemmeside/

Koden:
if ($handle = opendir("billeder")) {
    while (false !== ($file = readdir($handle))) {
    if($file != "." && $file != "..") {
        $files[] = $file;
    }
    }
    closedir($handle);
}

Hvad er galt?

På forhånd tak
Avatar billede showsource Seniormester
27. november 2006 - 23:16 #1
Ehh, hvor ligger scriptet?
Men hvis du bruger,
    if(is_file($file)) {
        $files[] = $file;
    }

tager den kun filer.
Avatar billede showsource Seniormester
27. november 2006 - 23:17 #2
evt.

if ($handle = opendir($_SERVER["DOCUMENT_ROOT"] ."/hjemmeside/billeder")) {
    while (false !== ($file = readdir($handle))) {
    if(is_file($file)) {
        $files[] = $file;
    }
    }
    closedir($handle);
}
Avatar billede rune00 Nybegynder
27. november 2006 - 23:23 #3
hmm den henter stadig alle filerne ind.

scriptet ligger i: /hjemmeside/

i samme mappe ligger diverse andre php filer. Det er disse filer som OGSÅ bliver hentet ind af løkken. Derfor tror jeg ikke is_file() hjælper.
Avatar billede showsource Seniormester
27. november 2006 - 23:23 #4
Nåh, må hellere.....

$path = $_SERVER["DOCUMENT_ROOT"] ."/hjemmeside/billeder";
if ($handle = opendir($path)) {
    while (false !== ($file = readdir($handle))) {
    if(is_file($path ."/". $file)) {
        $files[] = $file;
    }
    }
    closedir($handle);
}
Avatar billede showsource Seniormester
27. november 2006 - 23:25 #5
Du må ha' noget mere kode i scriptet, hvis du også får vist filer i dir'et hjemmeside
Avatar billede rune00 Nybegynder
27. november 2006 - 23:31 #6
<html>
<head>
    <?
        if(stripos($_SERVER['HTTP_USER_AGENT'],"MSIE")){
            ?><link rel="stylesheet" type="text/css" href="style_ie.css"><?
        }
        else{
            ?><link rel="stylesheet" type="text/css" href="style_firefox.css"><?
        }
    ?>
</head>

<body>
        <?
            include('db.php');
            con_db();
        ?>
        <h1>Upload mappe</h1>
        <form action="<?$_SERVER['PHP_SELF'];?>" method="post">
            <select name="event">
                <?
                    $query = "SELECT event,id FROM albums";
                    $result = mysql_query($query) or die(mysql_error());

                    while($row = mysql_fetch_assoc($result)){
                        ?>
                            <option value="<?=$row[event]?>"><?=$row[event]?></option>
                        <?
                    }
                ?>
            </select>
            <input type="submit" name="submit_folder" value="Upload">
        </form>
        <?
            if(isset($_POST['submit_folder'])){

                $path = $_SERVER["DOCUMENT_ROOT"] ."/imagesite/upload_images";
                if ($handle = opendir($path)) {
                    while (false !== ($file = readdir($handle))) {
                    if(is_file($path ."/". $file)) {
                            $files[] = $file;
                        }
                    }
                    closedir($handle);
                }

                foreach($files as $file){
                    print $file.'<br>';
                }
            }
        ?>
</body>
</html>

den udskriver stadig ALLE filer, altså filerne i "imagesite" og filerne i "upload_images". Det er KUN filerne i "upload_images" jeg er interesseret i
Avatar billede showsource Seniormester
28. november 2006 - 01:50 #7
Sikker på det er den rigtig fil du viser der?
For den vil kun vise filer i dir'et upload_images!
Avatar billede acoon Nybegynder
28. november 2006 - 16:13 #8
Tror jeg har løst det for rune...
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