-1
I need this file to list a folder that is set manually. Currently it lists the directory where the file is, would like to list for example: /arquivos
<?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' || $arquivos == 'logo.jpg' || $arquivos == 'arquivos.php'
|| $arquivos == 'index.html' || $arquivos == '.gitignore' || $arquivos == '.jshintrc' || $arquivos == 'CONTRIBUTING.md' || $arquivos == 'Gruntfile.js' || $arquivos == 'README.md' || $arquivos == 'angularjs.html'
|| $arquivos == 'basic-plus.html' || $arquivos == 'basic.html' || $arquivos == 'blueimp-file-upload.jquery.json' || $arquivos == 'bower.json' || $arquivos == 'jquery-ui.html' || $arquivos == 'listaarquivos.php' || $arquivos == 'package.json')
echo "";
else
echo "<li><a href='$listar'>$listar</a> ", "Enviado em: " . date ("d/M/Y - ", filemtime( $arquivos)) , "Tamanho: ",$tamanho."</li>";
}
}
?>
now I have the following error: Notice: Undefined variable: folders in C: xampp htdocs files.php on line 41 Warning: filesize(): stat failed for A3_CPU.jpg in C: xampp htdocs files.php on line 52 Warning: filesize(): stat failed for A3_CPU.jpg in C: xampp htdocs files.php on line 54 Warning: filesize(): stat failed for A3_CPU.jpg in C: xampp htdocs files.php on line 56
– André