Vou disponibilizar aqui alguns scripts para leitura de diretórios, sub-diretórios, arquivos e algumas variantes que vejo que são bastante usadas.
Claro que há outras formas de fazer isso usando outras funções, mas creio que essas sejam as mais adequadas. Outras funções de referência:
Class.dir – PHP3, PHP4 ou PHP5
Neste artigo você vai encontrar como:
- Abrir um diretório e mostrar os arquivos e sub-diretórios.
- Abrir um diretório e mostrar somente os sub-diretórios.
- Abrir um diretório e mostrar somente os sub-diretórios (sem o diretório “.”).
- Abrir um diretório e mostrar somente os sub-diretórios (sem o diretório “..”).
- Abrir um diretório e mostrar somente os sub-diretórios (sem os diretórios “.” e “..”).
- Abrir um diretório e mostrar os arquivos.
- Abrir um diretório e mostrar os arquivos com extensão “.jpg”.
- Abrir um diretório e mostrar os arquivos em ordem alfabética.
- Abrir um diretório e mostrar os arquivos e sub-diretórios (sem os diretórios “.” e “..”) em ordem alfabética.
- Abrir um diretório e mostrar os arquivos e sub-diretórios (sem os diretórios “.” e “..”) em ordem alfabética e mostrar todos os arquivos e sub-diretórios dentro de cada sub-diretório, ou seja, mostrar toda a árvore.
Para testar os exemplos, use a chamada abaixo (caso esteja usando Windows e o diretório exista, claro!) no mesmo arquivo que está a função.
<?php
function diretorios($diretorio) {
//código da função
}
diretorios("c:\php\");
?>
Para testar o último exemplo, use:
<?php
function diretorios($diretorio) {
//código da função
}
mostra(diretorios("c:\php\"));
?>Abrir um diretório e mostrar os arquivos e sub-diretórios.
<?php
function diretorios($diretorio) {
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
echo $arq . "<br />";
}
}
}
}
?>Abrir um diretório e mostrar somente os sub-diretórios.
<?php
function diretorios($diretorio) {
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
if (is_dir($diretorio . $arq)) {
echo $arq . "<br />";
}
}
}
}
}
?>Abrir um diretório e mostrar somente os sub-diretórios (sem o diretório “.”).
<?php
function diretorios($diretorio) {
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
if (is_dir($diretorio . $arq) && $arq != ".") {
echo $arq . "<br />";
}
}
}
}
}
?>Abrir um diretório e mostrar somente os sub-diretórios (sem o diretório “..”).
<?php
function diretorios($diretorio) {
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
if (is_dir($diretorio . $arq) && $arq != "..") {
echo $arq . "<br />";
}
}
}
}
}
?>Abrir um diretório e mostrar somente os sub-diretórios (sem os diretórios “.” e “..”).
<?php
function diretorios($diretorio) {
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
if (is_dir($diretorio . $arq) && $arq != "." && $arq != "..") {
echo $arq . "<br />";
}
}
}
}
}
?>Abrir um diretório e mostrar os arquivos.
<?php
function diretorios($diretorio) {
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
if (is_file($diretorio . $arq)) {
echo $arq . "<br />";
}
}
}
}
}
?>Abrir um diretório e mostrar os arquivos com extensão “.jpg”.
<?php
function diretorios($diretorio) {
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
if (is_file($diretorio . $arq) && pathinfo($arq, 4) == "jpg") {
echo $arq . "<br />";
}
}
}
}
}
?>Abrir um diretório e mostrar os arquivos em ordem alfabética.
<?php
function diretorios($diretorio) {
$resultado = array();
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
if (is_file($diretorio . $arq)) {
$resultado[strtolower($arq)] = $arq;
}
}
ksort($resultado);
foreach($resultado as $valor) {
echo $valor . "<br />";
}
}
}
}
?>Abrir um diretório e mostrar os arquivos e sub-diretórios (sem os diretórios “.” e “..”) em ordem alfabética.
<?php
function diretorios($diretorio) {
$resultado['d'] = $resultado['a'] = array();
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
if ($arq != '.' && $arq != '..') {
if (is_dir($diretorio . $arq)) {
$resultado['d'][strtolower($arq)] = $arq;
} else {
$resultado['a'][strtolower($arq)] = $arq;
}
}
}
ksort($resultado['d']);
ksort($resultado['a']);
foreach($resultado['d'] as $valor) {
echo $valor . "<br />";
}
foreach($resultado['a'] as $valor) {
echo $valor . "<br />";
}
}
}
}
?>Abrir um diretório e mostrar os arquivos e sub-diretórios (sem os diretórios “.” e “..”) em ordem alfabética e mostrar todos os arquivos e sub-diretórios dentro de cada sub-diretório, ou seja, mostrar toda a árvore.
<?php
function diretorios($diretorio) {
$resultado['d'] = $resultado['a'] = array();
if (is_dir($diretorio)) {
if ($dir = opendir($diretorio)) {
while(false !== ($arq = readdir($dir))) {
if ($arq != '.' && $arq != '..') {
if (is_dir($diretorio . $arq)) {
$resultado['d'][strtolower($arq)] = diretorios($diretorio . $arq . DIRECTORY_SEPARATOR);
} else {
$resultado['a'][strtolower($arq)] = $arq;
}
}
}
}
}
ksort($resultado['d']);
ksort($resultado['a']);
return $resultado;
}
function mostra($array) {
foreach($array['d'] as $chave => $valor) {
echo $chave . "<br />";
if (is_array($valor)) {
mostra($valor);
}
}
foreach($array['a'] as $chave => $valor) {
echo $chave . "<br />";
}
}
?>Agora aguardo os comentários para que possa melhorar cada vez mais a qualidade dos artigos.
Espero que estejam gostando. Abraços







