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,