nikk0 Skrevet 8. mai 2009 Del Skrevet 8. mai 2009 Hei og hå! Er bortimot 5 år siden sist jeg skrev ei hjemmeside i PHP/HTML. HTML er plankekjøring så det fikser jeg, men sliter litt med noe i PHP. Så håpte på litt hjelp her.. Skal ha PHP'n til å ramse opp alt mapper i en directory, utenom noen få mapper, men dere ser sikkert min mening og problemet så fort dere leser koden min. <? $path = "./"; $hide = array( 'dlf', 'index.php', 'Thumbs', '.htaccess', '.htpasswd' ); $dir_handle = @opendir($path) or die("Unable to open $path"); //running the while loop while ($file = readdir($dir_handle)) { if($file!="." && $file!="..") if(!($file==$hide)) { echo "<a href='$file'>$file</a><br/>"; } } //closing the directory closedir($dir_handle); ?> Noen som ser problemet umiddelbart? Jeg kunne nok funnet ut av det etter timer med prøve og feil, men håper på ei enklere løsning enn som så.. Lenke til kommentar
Ernie Skrevet 8. mai 2009 Del Skrevet 8. mai 2009 (endret) Å sammenligne $file (en string) mot $hide (en array) går nok veldig dårlig. Det du bør gjøre er å bruke in_array Red.: Forøvrig har jeg et generelt tips. I stedet for å ha to if-settninger der kan de fint kombineres til en: if($file!="." && $file!=".." && $file!=$hide) Legg også merke til at !($file==$hide) kan skrives som $file!=$hide Endret 8. mai 2009 av Ernie Lenke til kommentar
Alex Moran Skrevet 8. mai 2009 Del Skrevet 8. mai 2009 <?php $path = './'; $hide = array('dlf', 'index.php', 'Thumbs', '.htaccess', '.htpasswd', '.', '..'); $files = array_diff(scandir($path), $hide); foreach ($files as $file) { echo $file; } 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å