---
title: "Lista innehåll i en mapp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/190968-lista-innehåll-i-en-mapp"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Mycodez"
published: "2012-12-12T13:05:31.000Z"
updated: "2012-12-13T09:55:25.000Z"
replies: 7
views: 950
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/190968-lista-innehåll-i-en-mapp"
---

# Lista innehåll i en mapp

## #1 — Mycodez, 2012-12-12T13:05Z

Hej, 
Jag är lite aktiv som ni ser nu, Men nu har jag fastnat lite igen, vet inte hur jag ska lösa detta:/

Jag listar alla ett ex antal mappar som finns i mapp. Allt innehåll har ett unik namn men dem har ett versionsnummer: så namnet lyder 
\[name\]-V\[versionsnummer\].pdf
Men jag vet inte hur jag ska gå till väga för att få till detta. Det jag vill ha det är alltså jag vill ha det sorterat störst först. 

min kod nu ser ut 

```php
<?php
                        $pfdRootDir = 'pdf';
                        $pdfd = scandir($pfdRootDir);
                        unset($pdfd[0],$pdfd[1]);
                        foreach ($pdfd as $key => $val) {
                            $pdfd2 = $pfdRootDir.'/'.$val;
                            echo '<h3><b>'.$val.' ('.count(scandir($pdfd2)).')</b></h3><br/>';
                            //Open images directory
                            $dir = opendir($pdfd2); 
                            //List files in images directory
                            while (($file = readdir($dir)) !== false)
                            {
                                if($file != '.' && $file != '..'){
                                    echo "File: <a href='".$pdfd2."/".$file."' target='_blank'>" . $file . "</a><br />";
                                } 
                            }
                            closedir($dir);
                            echo '<hr/>';
                        }
                    ?>
```

Tack på förhand :)

Permalänk: https://www.webforum.nu/p/190968

## #2 — metalboy, 2012-12-12T14:47Z

Vad menar du med "sorterat störst först". Är det filstorlek? Eller är det högst versionsnummer först?

I vilket fall som helst så får du lagra de olika filnamnen i en array istället för att skriva ut dem direkt i loopen. Sedan sorterar du arrayen med lämplig funktion (beror på hur du vill sortera). Därefter loopar du igenom posterna i arrayen och skriver ut dem.

Permalänk: https://www.webforum.nu/p/2306707

## #3 — Mycodez, 2012-12-12T15:00Z

Vet är versions numret jag jag vill listas högst, men sen kom jag på nu, när jag skulle försöka göra detta, är att det kan var fler olika namn med olika versions nummer, hur ska man kanske sortera ena filen med desso lika verionser sne ta nästa fil.  
typ såhära

mapp1
  fil1-V1.pdf
  fil1-V2.pdf
  
  fil2-V1.pdf
  fil2-V2.pdf
  fil2-V3.pdf

mapp2
  filen1-V1.pdf
  filen1-V2.pdf
  

Hoppas jag är tydlig :)

Permalänk: https://www.webforum.nu/p/2306709

## #4 — metalboy, 2012-12-12T15:10Z

> **[Mycodez skrev:](https://www.webforum.nu/p/1557194)**
>
> hur ska man kanske sortera ena filen med desso lika verionser sne ta nästa fil.

Det där förstod jag inte mycket alls av, tyvärr.

Men i alla fall, du borde kunna använda [natsort()](http://www.php.net/natsort) för att sortera värdena.

Exempel:

```php
<?php
$dir = './';
$dh = opendir($dir);
$files = array();
while (false !== ($file = readdir($dh)) {
    if ($file == '.' || $file == '..') continue;

    $files[] = $dir . $file;
}
natsort($files);

foreach($files as $file) {
    echo '<a href="' . $file . '">' . $file . '</a>';
}
```

Permalänk: https://www.webforum.nu/p/2306712

## #5 — Mycodez, 2012-12-12T16:00Z

Det jag menar är att den tar som i mitt exempel fil1-\[VERSION\].pdf och listar den förre fil2-\[VERSION\].pdf Lite mer förklaring :)

Permalänk: https://www.webforum.nu/p/2306717

## #6 — metalboy, 2012-12-12T16:35Z

Vid närmare eftertanke får du nog använda [usort](http://www.php.net/usort) för att sköta sorteringen. Då skriver du din egen sorteringsalgoritm, och kan alltså sortera precis hur du vill.

Permalänk: https://www.webforum.nu/p/2306718

## #7 — Mycodez, 2012-12-13T07:32Z

Okej, Jag har funderat på att skriva min egna, men det verkar vara lite knepigt men ty den som ge sig som man säger. Får kolla lite på detta med en sorteringsalgoritm :)

Permalänk: https://www.webforum.nu/p/2306727

## #8 — Mycodez, 2012-12-13T09:55Z

> **[metalboy skrev:](https://www.webforum.nu/p/1557197)**
>
> Men i alla fall, du borde kunna använda [natsort()](http://www.php.net/natsort) för att sortera värdena.

Jag testade att köra  natsort och den gjorde precis så som jag ville ha det.
Tack så mycket Metalboy :birp

Permalänk: https://www.webforum.nu/p/2306731

---

Tråden på webben: https://www.webforum.nu/amne/php/190968-lista-innehåll-i-en-mapp
