Função scandir

A função scandir retorna um array contendo os nomes de arquivos e diretórios da pasta especificada. O primeiro parâmetro da função é o caminho para o diretório, e o segundo (opcional) é a ordem de classificação. Por padrão, a classificação é feita em ordem alfabética crescente.

Sintaxe

phpscandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING): array

Exemplo

Vamos obter a lista de arquivos e pastas no diretório atual:

php<?php
  $res = scandir('.');
  print_r($res);
?>

Resultado da execução do código:

php['.', '..', 'file1.txt', 'file2.txt', 'folder']

Exemplo

Vamos obter a lista de arquivos em ordem inversa:

php<?php
  $res = scandir('.', SCANDIR_SORT_DESCENDING);
  print_r($res);
?>

Resultado da execução do código:

php['folder', 'file2.txt', 'file1.txt', '..', '.']

Exemplo

Vamos filtrar os elementos especiais '.' e '..' usando a função array_diff:

php<?php
  $res = array_diff(scandir('.'), ['.', '..']);
  print_r($res);
?>

Resultado da execução do código:

php['file1.txt', 'file2.txt', 'folder']

Veja também

  • a função glob,
    que busca arquivos por padrão
  • a função is_dir,
    que verifica um diretório
  • a função readdir,
    que lê o conteúdo de um diretório