Brugernavn:




Kodeord: Husk
Forside Forum Artikler Downloads Søg
 

Fil liste over alle filer i en mappe


Denne lille løkke er resultatet på flere timers søgning. Mit formål var at lave en liste over alle mine musik filer i en mappe, bemærk dog at koden opfange alle filer.

Den første del er egentlig ret simpel:

  1. <?php
  2. $mappe = dir("DIN MAPPE HER");
  3. while(($fil = $mappe->read()) !== false) {
  4. ?>

$mappe = dir("DIN MAPPE HER");l sætter variablen $mappe med stien til den mappe hvor dine filer ligger i. Selve løkken ligger her: while(($file = $mappe->read()) !== false) { og bliver ved med at udskrive nye løkker indtil der ikke er flere filer. Næste skridt er så selve den kode der ligge i løkken, den kan sættes forskelligt, men her har jeg valgt kun at lave en liste over filerne.

  • Filnavn: <?=$fil?><br>

Ret simpelt, og til sidst afslutningen:

  • <?php } ?>

Nu har vi en liste over hvad vores mappe indeholder, smart ikke? Nu behøves du egentlig ikke mere, men hvis du vil gøre den endnu smartere så fortsæt blot med at læs.

Åben filer
For at udvide koden lidt kunne vi tilføje et link til at åbne filen, lad os prøve det.

  1. <?php
  2. $mappe = dir("DIN MAPPE HER");
  3. while(($fil = $mappe->read()) !== false) {
  4. ?>
  5. Filnavn: <a href="<? echo "DINMAPPEHER/" . $fil; ?>"><?=$fil?></a><br>
  6. <?php } ?>

Nu kan man også klikke på hver enkel fil og åbne den.

Musikbiblotek med afspiller
For at gøre det endnu mere avanceret vil man måske vælge at lave et musik-biblotek hvor filerne kan blive afspillet direkte på samme side som listen. Der skal først tilføjes denne kode neden eller oven over listen:

  1. <?php if ($funktion == "spil" && $spil) { ?><embed src="<?=$spil?>"
  2. width="300" height="40" autostart="false" loop="FALSE">
  3. </embed><br><br><? } ?>

Derefter skal løkken også ændres en smule:

  1. <?php
  2. $mappe = dir("DIN MAPPE HER");
  3. while(($fil = $mappe->read()) !== false) {
  4. ?>
  5. Filnavn: <a href="?function=spil&spil=<? echo "DINMAPPEHER/" . $fil; ?>"><?=$fil?></a><br>
  6. <?php } ?>

Og vupti, så har vi et lille musik biblotek.

Her er min kode som den ser ud, den kan dog afvige fra dit eget resultat:

  1. <?php if ($funktion == "spil" && $spil) { ?><embed src="<?=$spil?>"
  2. width="300" height="40" autostart="true" loop="FALSE">
  3. </embed><br><br><? } ?>

  4. <?php
  5. $mappe = dir("s");
  6. while(($fil = $mappe->read()) !== false) {
  7. ?>
  8. Filnavn: <a href="?funktion=spil&spil=<? echo "s/" . $fil; ?>"><?=$fil?></a><br>
  9. <?php } ?>
Sidst redigeret 16:46 - 08/07/2006
Oprettet af:

PHP

Point modtaget: 0

Rate:
16:21 08/07/2006

Kommentarer

Giv din mening tilkende om denne artikel, eller læs andres.
Har du spørgsmål eller brug for hjælp til denne artikel henvises du til forummet.
Ser meget gennemført ud. Men ikke for nybegyndere.. :P
4 herfra ;)
Oprettet af:
  Mail
16:59 08/07/2006
Der var ingen der sagde den skulle være for begyndere? :)
Oprettet af:
  Mail
18:11 08/07/2006
Nej.. Det siger jeg heller ikke at du har sagt :D
Sidst redigeret 23:27 - 14/07/2006
Oprettet af:
  Mail
20:49 09/07/2006
God artikel - 4 her fra :D
Oprettet af:
  Mail
10:19 15/07/2006
Rigtig dejlig artikel! Meget nyttig :-]
Oprettet af:
  Mail
14:23 24/10/2006
du bør måske overveje at optimere koden så den også virker når register globals er slået fra...
Oprettet af:
  Mail
18:57 03/12/2006
Rigtig god artikel, du forklarer dog ikke så godt hvad funktionerne variablerne gør osv. eller meget god artikel.

- Fortsæt i den stil :)
Oprettet af:
  Mail
20:27 23/05/2007
God artikel, men den viser:

.
..

Det kan man let fixe:

if(!file_exists($fil))
{
}

Så viser den det ikke.
Oprettet af:
  Mail
23:27 21/07/2007
  • if($var!="."&&$var!=".."){}
Oprettet af:
  Mail
19:06 23/10/2007
Du skal være oprettet og logget ind for at kommentere en artikel
Copyright © Rowl.dk v/ Michael Raagaard | 2005-12 | Alle rettigheder forbeholdes