Avatar billede jacob_m Nybegynder
15. oktober 2004 - 11:40 Der er 13 kommentarer og
1 løsning

tilføj løbende i array!

Hey Hey..

Jeg er ved at skrive en lille funktion, som skal gennemløbe en mappe, og smide et indekserede array ud med indholdet.

Jeg er noget frem til følgende:

--------------------------- Funktion og test -----------------

<?

function array_dir($mappe){

   
    $file_string = "";

    if ($handle = opendir("/xx/xx/$mappe")) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file!="thumbs") {
            $file_string .= "'$file', ";
        }
    }
    closedir($handle);
}

echo "$file_string <br>"; //For at tjekke om stringen er rigtig!

$array_list = array(1 => $file_string);

print_r ($array_list);

};

if(isset($mappe)){

array_dir($mappe);

};



?>

Men outputtet er et array med kun én key.. i mit tilfælde:

Array (
[1] => 'holdfast.jpg', 'hot.jpg', 'hvad.jpg', 'hvaderdet.jpg',
)

Hvad gør jeg galt...?
Avatar billede dmdisco Nybegynder
15. oktober 2004 - 11:50 #1
$array_list[] = $file_string;

prøv det
Avatar billede jacob_m Nybegynder
15. oktober 2004 - 11:57 #2
Så bliver det bare:

Array (
[0] => 'holdfast.jpg', 'hot.jpg', 'hvad.jpg', 'hvaderdet.jpg',
)

Tror fejlen er at $file_string bliver set som én langt string.. og ik flere elementer som jeg gerne vil have den til!!
Avatar billede dmdisco Nybegynder
15. oktober 2004 - 11:59 #3
så brug en explode() til at opdele $file_string med eller byt $file_string .= "'$file', "; ud med $array_list[] = $file;
Avatar billede jacob_m Nybegynder
15. oktober 2004 - 12:02 #4
He.. havde slet ikke tænkt på at putte array_list der op...... :S.

Men nu virker det... takker... dmdisco smid lige et svar :P
Avatar billede dmdisco Nybegynder
15. oktober 2004 - 12:03 #5
sælfølig :)
Avatar billede jacob_m Nybegynder
15. oktober 2004 - 12:15 #6
Lige et tillægs spørgsmål.. Hvordan hiver jeg arrayet ud af funktionen har prøvet med return $array_list lige før afslutningen "};"... !
Avatar billede jacob_m Nybegynder
15. oktober 2004 - 12:19 #7
har forhøjet med 10p :-P
Avatar billede dmdisco Nybegynder
15. oktober 2004 - 12:28 #8
return $array_list; burde da virke
Avatar billede hmortensen Nybegynder
15. oktober 2004 - 12:29 #9
Kan du ikke bare gøre sådan her:

function array_dir($mappe){
   
    $array_list = array();

    if ($handle = opendir("/xx/xx/$mappe")) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file!="thumbs") {
            $array_list[] = $file;
        }
    }
    closedir($handle);
}

return $array_list;

};

Så får du dem i et array med det samme
Avatar billede jacob_m Nybegynder
15. oktober 2004 - 12:29 #10
Dette virker sq ik.. Ville også tro at return var god nok..

-----------------------------------------------------
function array_dir($mappe){

    if ($handle = opendir("/STORE/greyz.dk/public_html/prestige/billeder/$mappe")) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && $file!="thumbs") {
                $array_list[] = $file ;
            }
        }
    closedir($handle);
    }
return $array_list;
};


if(isset($mappe)){

    array_dir($mappe);
    print_r($array_list);

};

-----------------------------------------------------
Avatar billede dmdisco Nybegynder
15. oktober 2004 - 12:31 #11
function array_dir($mappe){

    if ($handle = opendir("/STORE/greyz.dk/public_html/prestige/billeder/$mappe")) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && $file!="thumbs") {
                $array_list[] = $file ;
            }
        }
    closedir($handle);
    }
return $array_list;
};


if(isset($mappe)){

    $array_list = array_dir($mappe);
    print_r($array_list);

};
Avatar billede dmdisco Nybegynder
15. oktober 2004 - 12:33 #12
du får ikke en variabel men resultatet af din funktion tilbage så du skal lige sætte den først

jeg kan ikke huske om print_r(array_dir($mappe)); virker men det var også en mulighed
Avatar billede hmortensen Nybegynder
15. oktober 2004 - 12:34 #13
Det her virker fint hos mig:

<pre>
<?php

function array_dir($mappe){

    $array_list = array();
    if ($handle = opendir($mappe)) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && $file!="thumbs") {
                $array_list[] = $file;
            }
        }
        closedir($handle);
    }
    return $array_list;
}

print_r(array_dir("mappe"));
?>
</pre>

(pre tagget gør at du får et pænere output med print_r)
Avatar billede jacob_m Nybegynder
15. oktober 2004 - 12:44 #14
Det er jo fantastisk.... Mange tak...
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