Introdução à Standard PHP Library
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:
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...
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.
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.
valeu mesmo,