scandir
(PHP 5)
scandir — Lista os arquivos e diretórios que estão no caminho especificado
Descrição
$directory
[, int $sorting_order
[, resource $context
]] )
Retorna um array de arquivos e diretórios dentro de
directory.
Parâmetros
-
directory -
O diretório que será pesquisado.
-
sorting_order -
Por padrão, a lista está em ordem alfabética ascendente (menor para maior). Se o parâmetro opcional
sorting_orderfor usado (com o valor 1), então a lista será ordenada de maneira descendente. -
context -
Para uma descrição do parâmetro
contextveja a seção de streams do manual.
Valor Retornado
Retorna umarray com nomes de arquivos se tiver sucesso, ou FALSE em
caso de erro. Se directory não for um diretório, então
FALSE é retornado e um erro de nível
E_WARNING é gerado.
Exemplos
Example #1 Um exemplo simples de scandir()
<?php
$dir = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);
print_r($files1);
print_r($files2);
?>
O exemplo acima irá imprimir algo similar à:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Array
(
[0] => somedir
[1] => foo.txt
[2] => bar.php
[3] => ..
[4] => .
)
Example #2 Alternativas do PHP 4 para scandir()
<?php
$dir = "/tmp";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}
sort($files);
print_r($files);
rsort($files);
print_r($files);
?>
O exemplo acima irá imprimir algo similar à:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Array
(
[0] => somedir
[1] => foo.txt
[2] => bar.php
[3] => ..
[4] => .
)
Notas
Você pode usar uma URL como um nome de arquivo nesta função se fopen wrappers estiver habilitado. Veja fopen() para mais detalhes em como especificar o nome do arquivo e Protocolos e wrappers suportados para uma lista de protocolos URL suportados.