Solução ingênua:
$files = system('find / -printf "%p %b\n"');
Explicação:
-
$files = system(...)
Será executado um comando shell especificado e armazenará a saída na variável$files
. -
find / -printf("%p %b\n")
O comandofind
listará todos os arquivos a partir da raiz do sistema de arquivos/
. As opções-printf
informam aofind
para formatar sua saída de acordo com o formato especificado. A string de formato"%p %b\n"
fará com quefind
exiba o caminho do arquivo (%p
), seguido por um espaço, seguido pelo tamanho do arquivo em blocos de 512 bytes (%b
), seguido por uma nova linha (%código%). As opções\n
também suportam um especificador de formato-printf
, que imprimirá o tamanho do arquivo em blocos de 1 KB.