Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal!
Depois de um final de semana trabalhando nos exercícios que preciso entregar hoje, tudo pronto graças aos amigos do fórum que me ajudaram nas mais diversas complicações esse final de semana, estou com uma pulga atrás da orelha em 2 exercícios pequenos, são basicamente o mesmo, mas sinto que to deixando passar algo, gostaria da ajuda de vocês pra verificar se está correto e se não estiver, onde errei e como deveria ter feito.
<?php
/*
Exercício 5
Desenvolva em PHP uma página que liste todos os arquivos, por ordem crescente de
tamanho (em bytes), contidos na pasta Arquivos.
*/
$path = "arquivos/";
foreach (new DirectoryIterator($path) as $fileInfo) {
if($fileInfo->isDot()) continue;
$fs = $fileInfo->getSize();
echo "Arquivo: " . $fileInfo->getFilename() . " - " . $fs . " bytes" . "<br/>";
}
?>
Aqui está o resultado:
Arquivo: a.txt - 47 bytesArquivo: b.txt - 59 bytesArquivo: c.txt - 35 bytesArquivo: d.txt - 2664 bytesArquivo: x.txt - 39 bytesArquivo: y.txt - 22 bytesArquivo: z.txt - 504 bytes
Eu não to conseguindo bolar pra ele organizar a ordem pelos bytes, tá tipo quase, mas não to conseguindo por na prática.
E o próximo:
<?phpforeach(glob('Documentos/*') as $file){
$meuArray['Última modificação: '.date('Y/m/d H:i:s', filemtime($file))] = '- Nome do arquivo: '.$file.' - Tamanho: '.filesize($file).' bytes';
}
print "<pre><h4>";
echo str_replace('Array','',print_r($meuArray,true));
?>
(
[Última modificação: 2018/06/18 16:53:28] => - Nome do arquivo: Documentos/a.txt - Tamanho: 47 bytes
[Última modificação: 2018/06/18 16:59:03] => - Nome do arquivo: Documentos/b.txt - Tamanho: 59 bytes
[Última modificação: 2018/06/18 16:59:06] => - Nome do arquivo: Documentos/c.txt - Tamanho: 35 bytes
[Última modificação: 2018/06/18 16:59:08] => - Nome do arquivo: Documentos/d.txt - Tamanho: 14 bytes
[Última modificação: 2018/06/18 16:58:54] => - Nome do arquivo: Documentos/x.txt - Tamanho: 39 bytes
[Última modificação: 2018/06/18 16:58:58] => - Nome do arquivo: Documentos/y.txt - Tamanho: 22 bytes
[Última modificação: 2018/06/18 16:59:15] => - Nome do arquivo: Documentos/z.txt - Tamanho: 504 bytes
)
Aqui está aparentemente tudo certo, só gostaria de ter certeza.
Novamente, obrigado por tudo pessoal!Boa tarde Bruno, novamente você me dando uma aula! Muito obrigado, mesmo!
Depois de organizado, parece bem "simples", eu to me batendo bastante com o uso dos arrays com você deve ter notado, to tentando melhorar e compreender, mas tá complicado rapaz, rs.
Obrigado pela aula e pela ajuda Bruno, você é excepcional!
É normal, o uso do array no começo é desse jeito mesmo, mas depois você pega a manha, pq o uso deles é bem frequente e com a prática você acaba entendendo bem melhor eles.
No primeiro exercício, dentro do foreach() você pode abrir um novo array e armazenar os dados que você quer dentro desse array, que no caso é os bytes e o nome do arquivo, pra depois você reorganizar ele da forma que você quer. Vou te dar um exemplo pra você entender na prática:
opção 1:
opção 2:
/*
Exercício 5
Desenvolva em PHP uma página que liste todos os arquivos, por ordem crescente de
tamanho (em bytes), contidos na pasta Arquivos.
*/
//opção 1:
//array_multisort($arrayPaths, SORT_ASC);
// opção 2:
// }
// usort($arrayPaths, 'sortBytesAsc');
//opção 3: