0

Introdução à Standard PHP Library

criado por Herbert Araujo em 30/07/2007 3:42pm
Usar SPL é muito mais interessante que a "febre dos frameworks", pois é simples o uso das classes built-in. Não é preciso nenhum tipo de instalação ou configuração, basta instanciar as classes e usar seus métodos (que são muitos).

Para listar todo o conteúdo de um diretório por exemplo, a SPL disponibiliza a classe DirectoryIterator, que permite executar essa tarefa com um simples foreach(). Veja:

<?php
$d = new DirectoryIterator(".");

foreach($d as $file) {
    echo $file->getFilename() . "<br />";
}
?>

Da maneira clássica, usaríamos um ponteiro de opendir() e depois readdir(), etc. Melhorando um pouco o código é possível mostrar mais informações...

<?php
$d = new DirectoryIterator(".");

foreach ($d as $file) {
    if (!$file->isDot() && !$file->isDir()) {
        echo "<br />Arquivo: " . $file->getFilename() . "<br />";
        echo "Tamanho: " . number_format($file->getSize() / 1024, 2) . " Kb<br />";
        echo "Data de Criação: " . date("D d M Y H:i:s a", $file->getCTime());
    }
}
?>

No exemplo acima, o método isDir() e isDot() da classe DirectoryIterator verifica se o elemento é um diretório ou se é um dos atalhos do linux, ponto (.) e dois pontos (..) respectivamente (. = diretório corrente; .. = diretório acima).

Os métodos getFilename(), getSize() e getCTime() retornam o nome do elemento, o tamanho e a data de criação respectivamente. A classe DirectoryIterator ainda tem vários outros métodos.

Comentários:

Mostrando 1 - 3 de 3 comentários
Excelente artigo, muito útil,
valeu mesmo,
03/08/2007 11:01pm (~16 anos atrás)

Ótimo artigo.

Vale a pena utilizar essas classes.

02/08/2007 9:26am (~16 anos atrás)

Maravilha cara!

Obrigado pela apresentação.
01/08/2007 6:02am (~16 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)