Como obter o tamanho exato do arquivo e o nome do arquivo?

7

Agora estou usando ls -lt /my/directory (veja abaixo), então o php analisa a saída. Mas inconsistentemente porque o delimitador é espaço e pode haver dois ou mais espaços entre dois campos.

A solução é somente saída nome do arquivo e seu tamanho . Como posso listar arquivos (usando curingas) e seu tamanho total na linha de comando?

Então, em vez de

-rw------- 1 db2inst1 db2iadm1 855658496 Apr 22 02:31 MONTE.0.db2inst1.NODE0000.CATN0000.20120422023005.001

Eu obtenho

855658496 MONTE.0.db2inst1.NODE0000.CATN0000.20120422023005.001
    
por Radek 03.05.2012 / 08:35

1 resposta

17

Como os outros observaram, se este for um aplicativo da web dinâmico, é muito melhor usar as funções do PHP para acessar o tamanho do arquivo.

Mas se você for obtê-lo executando um comando shell, não use ls . Em vez disso, use stat e diga exatamente o que você deseja:

$ stat -c '%n %s' x.txt
x.txt 12
    
por 03.05.2012 / 08:45