Com a função PHP size_format() você converte o tamanho em bytes de um arquivo para um formato mais legível para humanos. Segue abaixo alguns exemplos de valores e o resultado para cada um deles:
<?php
echo size_format(1424); // Exibe: 1 KB
echo size_format(1648576); // Exibe: 2 MB
Code language: PHP (php)
É possível também definir o número de casas decimais ao adicionar um segundo parâmetro na função. Por padrão o seu valor é zero.
<?php
echo size_format(1424, 2); // Exibe: 1,39 KB
echo size_format(1648576, 2); // Exibe: 1,57 MB
Code language: PHP (php)
Note que o tamanho dos arquivos é automaticamente arredondado dependendo do número de casas decimais escolhidas. No primeiro exemplo, 1,57 MB foi arredondado para 2 MB quando o número de casas decimais foi zero.
Utilizando size_format() para exibir o tamanho de um arquivo no WordPress
Em várias situações é útil exibir o tamanho do arquivo como, por exemplo, em uma página de downloads. Dado o ID de um arquivo ($arquivo_id
) que foi enviado para o WordPress, você poderá exibir o seu tamanho com o código abaixo:
<?php
// Pega o caminho do arquivo
$arquivo = get_attached_file( $arquivo_id );
// Verifica se o arquivo existe
if ( $arquivo ) {
// Pega o tamanho do arquivo
$arquivo_tamanho = filesize( $arquivo );
// Imprime o tamanho do arquivo em um formato legível
echo size_format( $arquivo_tamanho, 2 );
}
Code language: PHP (php)
No código acima, usamos a função do WordPress get_attached_file()
para pegar o caminho do arquivo e a função nativa do PHP filesize()
para pegar o tamanho dele em bytes.
Deixe um comentário