Estou com um probleminha, peguei um script que lista todos os arquivos do meu diretório, até aí beleza, funciona 100%, porém gostaria que o mesmo ordenasse os arquivos por data que foi enviado ao servidor, ou seja, por upload, quanto mais recente for o upload mais em cima o arquivo fica!
Mas atualmente ele está ordenando por ordem alfabética e isso fica meio ruim pro sistema que quero utilizar... então se alguém souber como fazer isso agradeço muito!
Segue abaixo o código:
[codebox]<?php
// pega o endereço do diretório
$diretorio = getcwd();
// abre o diretório
$ponteiro = opendir($diretorio);
// monta os vetores com os itens encontrados na pasta
while ($nome_itens = readdir($ponteiro)) {
$itens[] = $nome_itens;
}
//O que fizemos aqui, foi justamente, pegar o diretório, abri-lo e lê-lo.
//Continuando, vamos usar:
//sort: ordena os vetores (arrays), de acordo com os parâmetros informados. Aqui estou ordenando por pastas e depois arquivos
// ordena o vetor de itens
sort($itens);
// percorre o vetor para fazer a separacao entre arquivos e pastas
foreach ($itens as $listar) {
// retira "./" e "../" para que retorne apenas pastas e arquivos
if ($listar!="." && $listar!=".."){
// checa se o tipo de arquivo encontrado é uma pasta
if (is_dir($listar)) {
// caso VERDADEIRO adiciona o item à variável de pastas
$pastas[]=$listar;
} else{
// caso FALSO adiciona o item à variável de arquivos
$arquivos[]=$listar;
}
}
}
//Vimos acima, a expressão is_dir, indicando que as ações devem esntão ser executadas, ali mesmo, no diretório que já //foi aberto e lido. As ações que executamos ali, foram: ver se tem pastas, listar. Ver se tem arquivos, listar.
//Agora, se houverem pastas, serão apresentadas antes dos arquivos, em odem alfabética.
//Se não houverem, serão apresentados apenas os arquivos, na mesma ordem.
//E se houverem os dois, serão mostrados igualmente.
// lista as pastas se houverem
if ($pastas != "" ) {
foreach($pastas as $listar){
$pastas = $listar;
echo "<li><a href='$listar'><strong>Pasta: </strong>$listar</a></li>" ;
}
}
// lista os arquivos se houverem
if ($arquivos != "") {
foreach($arquivos as $listar){
$arquivos = $listar;
$tamanho = "";
if ( (filesize($arquivos) > 1024)&&(filesize($arquivos) < (1024 * 1000)) ) // KBYTE
$tamanho = number_format((filesize($arquivos) / 1024),2)." Kb";
elseif(filesize($arquivos) > (1024 * 1000)) //MBYTE
$tamanho = number_format((filesize($arquivos) / (1024 * 1024)),2)." Mb";
else $tamanho = number_format(filesize($arquivos),2)." bytes";
if($arquivos == 'index.php' || $arquivos == 'error_log' || $arquivos == 'menu_cond_online.php' || $arquivos == 'functions.php' || $arquivos == 'formulario_login.php')
echo "";
else
echo "<li><a href='$listar'><strong>Arquivo:</strong> $listar -- ", "Upload em: " . date ("d/M/Y \à\s H:i - ", filemtime( $arquivos)) , "Tamanho: ",$tamanho."</li> </a> ";
}
}
?>[/codebox]
Grato desde já
[]'s
Edição feita por: Ricardo KaNu, 13/05/2009, 16:23.