0lav Skrevet 5. oktober 2005 Del Skrevet 5. oktober 2005 Hei! Som topicet sier: Hvordan kan jeg gjøre til slik at alle bilder som ligger i ei mappe blir listet opp i en listbox/dropdown box elr hva det heter:P Hvertfall en slik som vi kan velge skrift farge, størrelse osv på når vi skriver innlegg.. Takk for svar! Lenke til kommentar
gozzer Skrevet 5. oktober 2005 Del Skrevet 5. oktober 2005 (endret) Dette burde legge alle relevante filer inn i et array: // mappen du ønsker å åpne $mappe = '/home/olav/hemmelige_filer'; // filendelser/-typer du ønsker å ha med i listen $typer = array('jpg', 'gif', 'png'); // kjører gjennom valgt mappe og henter ut valgte filtyper if ($handle = opendir($mappe)) { while (false !== ($file = readdir($handle))) { if (in_array(array_pop(explode('.', $file)), $typer)) {$filer[] = $file;} } closedir($handle); } else { echo "Kunne ikke lese mappen \"$mappe\""; } Nå skal variablen $filer inneholde alle filer av typen $typer som finnes i $mappe. Hvordan du velger å bygge opp din rullegarinmeny med denne informasjonen, blir opp til deg. Et lite tips kan være å slå opp "select" hos w3schools. Endret 5. oktober 2005 av gozzer Lenke til kommentar
0lav Skrevet 5. oktober 2005 Forfatter Del Skrevet 5. oktober 2005 (endret) Hei! Tusen takk for svar! Men jeg får bare denne feil mld: Fatal error: Only variables can be passed by reference in i:\shop\admin\ny_produkt.php on line 187 Linje 187 ser slik ut: if (in_array(array_pop(explode('.', $file)), $typer)) {$filer[] = $file;} Edit: jeg får ikke denne feil meldingen hvis jeg feks skriver inn feil mappe navn, men da får jeg jo meldingen om at mappen ikke eksisterer:P Endret 5. oktober 2005 av 0lav Lenke til kommentar
gozzer Skrevet 5. oktober 2005 Del Skrevet 5. oktober 2005 Hehe, sånt skjer :-) Hvis du bytter ut if (in_array(array_pop(explode('.', $file)), $typer)) {$filer[] = $file;} ... med $temp = explode('.', $file); $temp = array_pop($temp); if (in_array($temp, $typer)) {$filer[] = $file;} ... så burde det gå bedre. Jeg vet ikke hvilken av funksjonene som ikke likte den første måten å gjøre det på, derfor splitta jeg heller alle fra hverandre. Fremdeles ikke testet noe av koden personlig, men det er grenser for hvor mange feil man burde få til med en så liten kodesnutt Lenke til kommentar
0lav Skrevet 5. oktober 2005 Forfatter Del Skrevet 5. oktober 2005 (endret) Takk for svar igjen så sent! Fikk ingen feil mld nå, og tror det skal funke. Men fikk ikke til å printe ut navnene.. Skal ikke dette funke?: if (in_array($temp, $typer)) {$filer[] = $file;} print("<option value=\"" .$filer . "\">" . $filer . "</option>"); } print("</select>"); Edit: Fikk det til nå, men det står kun "Array" i det som blir hentet ut.. Endret 5. oktober 2005 av 0lav Lenke til kommentar
Axentrix Skrevet 5. oktober 2005 Del Skrevet 5. oktober 2005 (endret) Takk for svar igjen så sent! Fikk ingen feil mld nå, og tror det skal funke. Men fikk ikke til å printe ut navnene.. Skal ikke dette funke?: if (in_array($temp, $typer)) {$filer[] = $file;} print("<option value=\"" .$filer . "\">" . $filer . "</option>"); } print("</select>"); Edit: Fikk det til nå, men det står kun "Array" i det som blir hentet ut.. Dette er fordi du må hente ut en bestemt array, ikke hele samtidig Hvis du har filnavnene i en array, ville jeg valg: foreach($filer as $filnavn) { print "<option value=\"".$filnavn."\">".$filnavn."</option> "; } Endret 5. oktober 2005 av Axentrix Lenke til kommentar
0lav Skrevet 5. oktober 2005 Forfatter Del Skrevet 5. oktober 2005 Tusen takk! Det funket! Lenke til kommentar
0lav Skrevet 5. oktober 2005 Forfatter Del Skrevet 5. oktober 2005 Alt funker som det skal nå. Men er en liten ting til som jeg lurte på om var mulig: Kan man sette en limit funksjon elns? Slik at jeg kan bruke neste side og forige side osv.. Jeg får til å lage det hvis noen kan hjelpe meg med hvordan jeg får til en limit funksjon på det scriptet.. Takk! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå