---
title: "Radda upp mappar och filer automatiskt..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/112468-radda-upp-mappar-och-filer-automatiskt"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "bassebhu"
published: "2004-09-27T20:11:36.000Z"
updated: "2004-09-28T21:16:15.000Z"
replies: 6
views: 373
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/112468-radda-upp-mappar-och-filer-automatiskt"
---

# Radda upp mappar och filer automatiskt...

## #1 — bassebhu, 2004-09-27T20:11Z

Hej alla glada!

Har precis fått igång en lokal server med php-stöd :e 

Jag skulle vilja på ett enkelt sätt skriva ut samtliga mappar och filer som finns i en bestämd mapp med hjälp av php. Detta för att jag ska kunna se mina filer med namn även om jag inte är hemma. Det är ingen share-server på gång alltså, då hade jag inte startat en webbserver ;) 

Någon som har ett litet php-script liggandes?

Ett exempel på hur jag vill ha det:
Jag går in på min sida. Där loopas alla mappnamn ut som ligger i en viss mapp på min dator. Detta är steg ett... Svar hur jag kommer hit til att börja med uppskattas :)

Sen är det tänkt att man ska kunna navigera precis som på datorn. Man kan öppna mappen och komma till nästa nivå och sedan till olika filer osv.

Om någon sitter på ett schysst script för att radda upp samliga filer i en mapp (även i undermappar) på nåt snyggt kategoriserat sätt så tas det också emot med stor tacksamhet :) 

Mvh, biten

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

## #2 — fiddler, 2004-09-28T05:34Z

Ett femminutershack såhär på morgonkvisten. Något att börja med kanske?

```php
<?
$dir = "./";

$dh = opendir($dir);

	while ( $filename = readdir($dh) ) {
      		echo $filename."<br>\n";
  	}

closedir($handle); 
?>
```

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

## #3 — Matte, 2004-09-28T07:21Z

Något du kanske kan arbeta vidare på:

```php
<?php

// Startkatalog för filer, utgå från skriptet
// Ange katalog UTAN avslutande /
$path = './bilder';
 
// Kolla att GET-variabel finns, annars sätt defaultvärde
$dir = isset($_GET['dir']) ? trim($_GET['dir']) : '';
// För hindra att man kan gå uppåt i katalogstrukturen
$dir = str_replace("../", "", $dir);

// Kolla att katalog existerar
if (!file_exists($path.'/'.$dir) || !is_dir($path.'/'.$dir)) {
   $dir = '';
}
 
// Hämta katalog- och filnamn
$files = array_merge(get_files($path, $dir, true), get_files($path, $dir));

// Skriv ut filnamnen

echo "<table>\n";

foreach ($files as $file) {
   echo '
     <tr>
     <td><a href="'.$file['link'].'">'.$file['name'].'</a></td>
     <td style="text-align:'.$file['align'].'">'.$file['size'].'</td>
     </tr>
   ';
}

echo "</table>";

function get_files($path, $dir, $isdir=false) {
 
   $files = array();
 
   if ($handle = opendir($path.'/'.$dir)) { 

      while (false !== ($file = readdir($handle))) { 

         if ($file != "." && $file != ".." && is_dir($path.'/'.$dir.'/'.$file) === $isdir) {

            if ($isdir) {
               $dirname = preg_replace("/^[\\.\\/]*/", "", $dir.'/'.$file);
               $link = $_SERVER['PHP_SELF']."?dir=$dirname";
               $filesize = '[DIR]';
               $align = 'left';
            } else {
               $link = "$path/$dir/$file";
               $link = preg_replace("/\\/+/", "/", $link);
               $filesize = number_format(filesize($path.'/'.$dir.'/'.$file), 0, ',', ' ');
               $align = 'right';
            }
            $files[] = array('name'=>$file, 'link'=>$link, 'size'=>$filesize, 'align'=>$align);
         } 

      } 
      closedir($handle); 
      
      sort($files);
      // Om vi ej är i startkatalogen, lägg till länk till katalog över
      if ($isdir && !empty($dir)) {
         $dirname = preg_replace("/^[\\.\\/]*/", "", dirname($dir));
         $overdir[] = array('name'=>'..', 'link'=>$_SERVER['PHP_SELF'].'?dir='.$dirname, 'size'=>'[DIR]', 'align'=>'left');
         $files = array_merge($overdir, $files);
      }
      
   }
 
   return $files;
 
}

?>
```

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

## #4 — bassebhu, 2004-09-28T08:18Z

Schysst, ska testa ikväll :D

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

## #5 — fiddler, 2004-09-28T10:26Z

Bra skript Matte! Jag snor det på en gång... :)

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

## #6 — lunne82, 2004-09-28T10:54Z

// För hindra att man kan gå uppåt i katalogstrukturen
$dir = str_replace("../", "", $dir);

bör utökas med:
$dir = ($dir == '..') ? '' : $dir;

så man inte själv kan skriva in ?dir=..

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

## #7 — nkrantz, 2004-09-28T21:16Z

Kolla WEBInsta File Manager, perfekt verktyg!

<https://www.webinsta.com>

/Nippe

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

---

Tråden på webben: https://www.webforum.nu/amne/php/112468-radda-upp-mappar-och-filer-automatiskt
