Globo PHP

Resumo : neste tutorial, você aprenderá como usar a glob()função PHP para obter a lista de arquivos e diretórios que correspondem a um padrão.

Introdução à função PHP glob()

A glob()função encontra nomes de caminhos que correspondem a um padrão.

Aqui está a sintaxe da glob()função:

glob ( string $pattern , int $flags = 0 ) : array|falseLinguagem de código:  PHP  ( php )

A glob()função leva dois parâmetros:

Este $patterné o padrão a combinar. Para construir um padrão, você usa os seguintes caracteres especiais:

  • Use *para corresponder zero ou mais caracteres
  • Use -para corresponder exatamente a um caractere
  • Use []para corresponder a um caractere de um grupo de caracteres listados no arquivo []. Para negar a correspondência, você usa o !caractere como o primeiro caractere do grupo.
  • Use \para escapar dos seguintes caracteres, exceto quando o GLOB_NOESCAPEsinalizador estiver definido.

É $flaguma ou mais opções que determinam o comportamento da glob()função.

Por exemplo, se $flagfor GLOB_MARK, a glob()função adiciona uma barra ( /) ou uma barra invertida ( \) a cada diretório correspondente. Para obter uma lista completa de sinalizadores válidos, verifique a glob()documentação da função .

Para combinar sinalizadores, você usa o | personagem. Por exemplo: GLOB_ONLYDIR|GLOB_NOSORT.

A glob()função retorna uma matriz que contém os arquivos/diretórios correspondentes.

Se nenhum arquivo ou diretório corresponder ao padrão, a glob()função retornará um array vazio.

Se ocorrer um erro, a glob()função retornará um arquivo false.

glob()Exemplos de funções PHP

Vejamos alguns exemplos de uso da glob()função PHP.

1) Usando a função PHP glob() para listar todos os arquivos em um diretório

O exemplo a seguir usa a glob()função para listar todos os arquivos *.php no diretório src:

<?php

$path = 'src/*.php';

$filenames = glob($path);

foreach ($filenames as $filename) {
    echo $filename . '<br>';
}Linguagem de código:  PHP  ( php )

Neste exemplo, o padrão *.phpcorresponde a qualquer arquivo cuja extensão seja php.

2) Usando a função PHP glob() para calcular e obter o tamanho total dos arquivos

Para obter o tamanho total dos arquivos em um diretório que corresponde a um padrão, siga estas etapas:

  • Primeiro, encontre os arquivos correspondentes usando a glob()função.
  • Segundo, obtenha o tamanho de cada arquivo passando o resultado da glob()função para a função array_map().
  • Terceiro, obtenha o tamanho total passando o resultado de array_map() para a função array_sum().

O código a seguir ilustra como usar as glob()funções , array_map() e array_sum() para encontrar o tamanho total dos arquivos *.php no diretório src:

echo array_sum(array_map('filesize', glob('./src/*.php')));Linguagem de código:  PHP  ( php )

3) Usando a glob()função PHP para incluir os dotfiles

O glob(‘*’) ignora arquivos ocultos por padrão. Isso significa que ele não retorna o arquivo cujo nome começa com um ponto, por exemplo, ( .gitignore), que são conhecidos como dotfiles.

Se quiser combinar os dotfiles, você pode usar o {.[!.],}*como padrão com o GLOB_BRACEsinalizador. Este padrão exclui os diretórios .e ..:

$filenames = glob('{.[!.],}*', GLOB_BRACE); 
foreach ($filenames as $filename) {
    echo $filename . '<br>';
}Linguagem de código:  PHP  ( php )

Resumo

  • Use a função PHP glob()para obter uma lista de arquivos e diretórios que correspondem a um padrão.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *