---
title: "lista .txt filer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/139426-lista-txt-filer"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "mr.mainline"
published: "2005-12-15T22:47:06.000Z"
updated: "2005-12-31T00:51:44.000Z"
replies: 2
views: 415
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/139426-lista-txt-filer"
---

# lista .txt filer

## #1 — mr.mainline, 2005-12-15T22:47Z

Har lite frågor om hur jag ska gå till väga.

1\.jag har en mapp där det skapas .txt filer, och vill kunna lista dessa.

2\.sen vill jag kunna ta bort vissa hur gör jag det?

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

## #2 — jeliasson, 2005-12-30T21:50Z

Du kan ju fula dig med att typ köra typ

```php
shell_exec('ls -l | grep .txt');
```

Sedan kan du ju fortsätta med att köra lite cut för att endast få ut namnet osv. Detta exempel förusätter att du har Linux.

Finns säkert mycket bättre exempel men jag har aldrig gjort något liknande innan.

EDIT: För att ta bort en fil kör du unlink().

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

## #3 — mmmMange, 2005-12-31T00:51Z

1)

Har en gammal hemmasnickrad funktion som har fungerat bra för mig.

```php
function EnumFiles($Dir, $CallbackFunctionName, $Extensions = array(), $Recursive = False){
  $DirHandle  = opendir($Dir);

  while ( ($Filename = readdir($DirHandle)) !== False ) {
      if( ($Filename == '.') or ($Filename == '..') )
          continue;

      $Filename = $Dir . '/' . $Filename;

      // Callback if filename ends with $Extension (if $Extension is specified)
      $pathinfo = pathinfo( $Filename );
      if( is_file($Filename) and (empty($Extensions) or in_array(strtolower($pathinfo['extension']), $Extensions)) ){
          if (call_user_func($CallbackFunctionName, $Filename) === False)
              return False;
      }

      // Enum subfolder if $Recursive is True
      if( is_dir($Filename) and $Recursive){
          if( EnumFiles($Filename, $CallbackFunctionName, $Extensions, $Recursive) === False)
              return False;
      }
  }

  closedir($DirHandle);
}
```

 

$Dir är alltså sökvägen till katalogen.
$CallbackFunctionName är namnet på den funktion som ska köras för varje hittad fil.
$Extensions är en array med filändelser.
$Recursive bestämmer ifall sökningen ska ske rekursivt, dvs i alla underkataloger också.

Ett exempel kan behövas:

```php
function printfilename( $filename ){
    print $filename . '<br>';
    return True;
}

EnumFiles( './images', 'printfilename', array('jpg', 'gif'), False );
```

 

Som du ser ska "callbackfunktionen" ta ett enda argument, nämligen filnamnet. Funktionen kan returnera antingen True eller False. Returnerar den True så fortsätter sökningen, returnerar den False avbryts sökningen. Alltså är det mycket viktigt att du returnerar True (om du inte vill avbryta sökningen förstås).

2) unlink() - <http://se2.php.net/manual/en/function.unlink.php>

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

---

Tråden på webben: https://www.webforum.nu/amne/php/139426-lista-txt-filer
