Stegz Skrevet 29. september 2007 Del Skrevet 29. september 2007 Jeg har lyst til å printe ut alle filnavne i en mappe, slik at når jeg legger til en ny fil i mappen, så vil en ny link til den nye filen legges til siden. Lenke til kommentar
Stegz Skrevet 29. september 2007 Forfatter Del Skrevet 29. september 2007 (endret) PHP5 scandir() 9598579[/snapback] outputten ble Array ( [0] => . [1] => .. [2] => Grieg - I Dovregubbens Hall.gp5 [3] => Marilyn Manson - Sweet Dreams.gp5 [4] => Nirvana - Smells Like Teen Spirit.gp5 [5] => System Of A Down - Marmalade.gp5 [6] => The Offspring - The Kids Aren't Alright.gp5 [7] => index.php ) Array ( [0] => index.php [1] => The Offspring - The Kids Aren't Alright.gp5 [2] => System Of A Down - Marmalade.gp5 [3] => Nirvana - Smells Like Teen Spirit.gp5 [4] => Marilyn Manson - Sweet Dreams.gp5 [5] => Grieg - I Dovregubbens Hall.gp5 [6] => .. [7] => . ) Hvordan er det jeg får det i en liste? slik som <ol> <li><a href="grieg - I Dovregubbens Hall.gp5">Grieg - I Dovregubbens Hall</li> <li>.... </li> ... </ol> Endret 29. september 2007 av Stegz Lenke til kommentar
Ståle Skrevet 29. september 2007 Del Skrevet 29. september 2007 (endret) <ol> <?php $sanger = scandir( $folder ); if( ( count( $sanger) -2 ) != 0 ) foreach( $sanger as $sang ) { if( $sang != '.' && $sang != '..') echo "<li><a href=\"$folder" . urlencode($sang) . '">' . substr( $sang, 0, strlen( $sang )-4 ) . "</a></li>\n"; } else echo 'Filer i mappen ' . $folder; ?> </ol> utestet sann na gir den riktig link. Endret 29. september 2007 av Ståle Lenke til kommentar
Stegz Skrevet 29. september 2007 Forfatter Del Skrevet 29. september 2007 (endret) Jeg fikk en en error. når jeg prøvde koden din. Kan litt php og har prøvd meg litt og det funker veldig bra <ul><?php $dir = 'sanger/'; $files = scandir($dir, 1); for ($i = 1; $i < 6; $i++) { echo " <li><a href=\"$files[$i]\">$files[$i]</a></li>"; } ?> </ul> det eneste som er litt dumt er at jeg må skrive inn hvor mange filer som er i mappen. finnes det noen kommando som sier hvor mange filer som er i mappen? Endret 29. september 2007 av Stegz Lenke til kommentar
Stegz Skrevet 29. september 2007 Forfatter Del Skrevet 29. september 2007 hvis jeg bare putter den rett inn i koden: Warning: scandir() [function.scandir]: (errno 2): No such file or directory in D:\Program Files\Wamp\www\occadest\sanger.php on line 33 Warning: Invalid argument supplied for foreach() in D:\Program Files\Wamp\www\occadest\sanger.php on line 35 hvis jeg setter $folder = "sanger/" først Fatal error: Call to undefined function url_encode() in D:\Program Files\Wamp\www\occadest\sanger.php on line 39 Lenke til kommentar
Stegz Skrevet 29. september 2007 Forfatter Del Skrevet 29. september 2007 hvis jeg bare putter den rett inn i koden: Warning: scandir() [function.scandir]: (errno 2): No such file or directory in D:\Program Files\Wamp\www\occadest\sanger.php on line 33 Warning: Invalid argument supplied for foreach() in D:\Program Files\Wamp\www\occadest\sanger.php on line 35 hvis jeg setter $folder = "sanger/" først Fatal error: Call to undefined function url_encode() in D:\Program Files\Wamp\www\occadest\sanger.php on line 39 9598926[/snapback] Jeg kan ikke nok php til å førstå alt som står på linje 39 Linje 39 : echo '<li><a href="' . url_encode($sang) . '">' . substr( $sang, strlen( $sang )-4 ) .'</a></li>'; Lenke til kommentar
Ståle Skrevet 29. september 2007 Del Skrevet 29. september 2007 (endret) Argh, det var urlencode, ikke url_encode har oppdatert forrige koden echo '<li><a href="' . urlencode($sang) . '">' . substr( $sang, -4 ) .'</a></li>'; Endret 29. september 2007 av Ståle Lenke til kommentar
Ernie Skrevet 29. september 2007 Del Skrevet 29. september 2007 (endret) Vel, hvis man sier det heter urlencode og ikke url_encode så går det kanskje bedre. Red.: Så var det sneglen meg da ... Endret 29. september 2007 av Ernie Lenke til kommentar
Stegz Skrevet 29. september 2007 Forfatter Del Skrevet 29. september 2007 (endret) Slik blir det nå: <ol> <li><a href="Grieg+-+Dovregubbens+Hall.gp5">.gp5</a></li><li><a href="Marilyn+Manson+-+Sweet+Dreams.gp5">.gp5</a></li><li><a href="Nirvana+-+Smells+Like+Teen+Spirit.gp5">.gp5</a></li><li><a href="System+Of+A+Down+-+Marmalade.gp5">.gp5</a></li><li><a href="The+Offspring+-+The+Kids+Aren%27t+Alright.gp5">.gp5</a></li></ol> Navnene på filene er: Grieg - Dovregubbens Hall.gp5 Marilyn Manson - Sweet Dreams.gp5 Nirvana - Smells Like Teen Spirit.gp5 System Of A Down - Marmalade.gp5 The Offspring - The Kids Aren't Alright.gp5 og alle disse filene ligger i en undermappe som heter sanger Men finnes det en funksjon for å finne antall filer i mappen? Endret 29. september 2007 av Stegz Lenke til kommentar
Ståle Skrevet 29. september 2007 Del Skrevet 29. september 2007 (endret) count( $sanger ); hmm.. litt lol med substr.. .. .. argh!! sa dumt.. sec.. skal fikse det na burde det vaert fikset. se hele koden-posten. er ikke sikker pa om $folder . urlencode.... er lov.. og har jernteppe pa hvordan man skal gjore det. Ernie!! hvis det var det som var problemet utenom at filnavnet ikke kom i linken. Endret 29. september 2007 av Ståle Lenke til kommentar
Ståle Skrevet 29. september 2007 Del Skrevet 29. september 2007 SANN DA!! Argh hvor dum jeg er. Lenke til kommentar
Stegz Skrevet 29. september 2007 Forfatter Del Skrevet 29. september 2007 Jeg synes jeg har kommet ganske langt med egen kode <ul><?php $dir = 'sanger/'; $files = scandir($dir, 1); for ($i = 0; $i < 5; $i++) { echo " <li><a href=\"sanger/$files[$i]\">$files[$i]</a></li>"; }; ?> </ul> Denne koden blir til <ul> <li><a href="sanger/The Offspring - The Kids Aren' tAlright.gp5">The Offspring - The Kids Aren' tAlright.gp5</a></li> <li><a href="sanger/System Of A Down - Marmalade.gp5">System Of A Down - Marmalade.gp5</a></li> <li><a href="sanger/Nirvana - Smells Like Teen Spirit.gp5">Nirvana - Smells Like Teen Spirit.gp5</a></li> <li><a href="sanger/Marilyn Manson - Sweet Dreams.gp5">Marilyn Manson - Sweet Dreams.gp5</a></li> <li><a href="sanger/Grieg - Dovregubbens Hall.gp5">Grieg - Dovregubbens Hall.gp5</a></li> </ul> Det eneste som jeg ikke synes er så bra er at jeg selv må skrive inn antall filer som ligger i mappen. jeg prøvde count ($dir) men det gav ikke noe svar. Lenke til kommentar
Ståle Skrevet 29. september 2007 Del Skrevet 29. september 2007 du ma ha count( scandir( $dir ) ) -2 pga . og .. men prov min kode igjen, na bor den vaere rett. Lenke til kommentar
Haraldson Skrevet 29. september 2007 Del Skrevet 29. september 2007 Du kan jo ikke telle mappa, du må telle antall sanger som ligger i arrayet $files. Tror count( $files ) skulle ta deg litt lenger, altså. Også kjører du en if-sjekk på om det er flere enn null sanger før du i det hele tatt skriver ut HTML. Lenke til kommentar
Stegz Skrevet 29. september 2007 Forfatter Del Skrevet 29. september 2007 du ma ha count( scandir( $dir ) ) -2pga . og .. men prov min kode igjen, na bor den vaere rett. 9599069[/snapback] koden ser bra ut, men den gir ikke riktig link. <ol><?php $dir = 'sanger/'; $files = scandir($dir, 1); $antall = count ($files) -2; for ($i = 0; $i < $antall; $i++) { echo " <li><a href=\"sanger/$files[$i]\">$files[$i]</a></li>"; }; ?> count ($files) gir to resultater mer enn det jeg ønsker: ".." og "." Dette fjerner jeg ved å putte inn -2. Så nå funker den bra synes jeg Lenke til kommentar
Haraldson Skrevet 29. september 2007 Del Skrevet 29. september 2007 Du får fortsatt en tom <ol> hvis mappa er tom. Dårlig praksis IMHO. Lenke til kommentar
Stegz Skrevet 29. september 2007 Forfatter Del Skrevet 29. september 2007 Du får fortsatt en tom <ol> hvis mappa er tom. Dårlig praksis IMHO. 9599144[/snapback] <?php $dir = 'sanger/'; $files = scandir($dir, 1); $antall = count ($files) -2; if ($antall) { echo "<ol>"; for ($i = 0; $i < $antall; $i++) { echo " <li><a href=\"sanger/$files[$i]\">$files[$i]</a></li>"; } echo "</ol>"; }; ?> Hvis antallet er 0 vil jeg ikke få en tom liste lenger. er løsningen god nå? Lenke til kommentar
Ståle Skrevet 29. september 2007 Del Skrevet 29. september 2007 se min kode na. Den er sikret mot ingen filer, og har fikset filstien. 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å