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 comandofindlistará todos os arquivos a partir da raiz do sistema de arquivos/. As opções-printfinformam aofindpara formatar sua saída de acordo com o formato especificado. A string de formato"%p %b\n"fará com quefindexiba 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\ntambém suportam um especificador de formato-printf, que imprimirá o tamanho do arquivo em blocos de 1 KB.