Forum und email

glob

(PHP 4 >= 4.3.0, PHP 5)

glob — Acha caminhos que combinam com um padrão

Descrição

array glob ( string $pattern [, int $flags ] )

A função glob() procura por todos os caminhos que combinem com o padrão pattern de acordo com as regras usadas pela função glob() da libc, que é semelhante às regras usadas por shells comuns.

Parâmetros

pattern

O padrão. Não é feita nenhuma expansão de til ou substituição de parâmetros.

flags

Flags válidas:

  • GLOB_MARK - Acrescenta uma barra a cada item retornado
  • GLOB_NOSORT - Retorna os arquivos conforme eles aparecem no diretório (sem ordenação)
  • GLOB_NOCHECK - Retorna o padrão da busca se nenhuma combinação de arquivo for encontrada
  • GLOB_NOESCAPE - Barras invertidas não escapam metacaracteres.
  • GLOB_BRACE - Expande {a,b,c} para combinar com 'a', 'b' ou 'c'
  • GLOB_ONLYDIR - Retorna apenas diretórios que combinem com o padrão
  • GLOB_ERR - Pára em erros de leitura (como diretórios que não podem ser lidos), por padrão os erros são ignorados.

Valor Retornado

Retorna um array contendo os arquivos/diretórios que combinaram, um array vazio se nenhum arquivo combinou ou FALSE em caso de erro.

Histórico

Versão Descrição
5.1.0 GLOB_ERR foi adicionado
4.3.3 GLOB_ONLYDIR tornou-se disponível no Windows e em outros sistemas que não utilizam a biblioteca GNU C

Exemplos

Example#1 Modo conveniente de como glob() pode susbstituir opendir() e companhia.

<?php
foreach (glob("*.txt") as $arquivo) {
    echo 
"tamanho de $arquivo " filesize($arquivo) . "\n";
}
?>

O exemplo acima irá imprimir algo similar a:

tamanho de funclist.txt 44686
tamanho de funcsummary.txt 267625
tamanho de quickref.txt 137820

Notas

Nota: Esta função não trabalha com arquivos remotos, de forma que o arquivo a ser examinado precisa ser acessível pelo sistema de arquivos do servidor.

Nota: Esta função não está disponível em alguns sistemas (ex.: antigo Sun OS).

Nota: A flag GLOB_BRACE não está disponível em alguns sistemas não GNU, como Solaris.