Calculando o espaço livre no hd

Luis Filipe Costa Carvalho
Calculando o espaço livre no hd

Hoje precisei de uma função que calculava quanto de espaço foi usado de uma partição. Dei uma pesquisada e descobri que existem duas funções no PHP que me permitem calcular este valor.

1) disk_total_space - ela retorna quantos bytes de capacidade total tem uma unidade que eu aponto.
2) disk_free_space - ela retorna quantos bytes tem disponíveis em uma unidade que eu passo por parâmetro

Portanto, o número total de bytes menos o numero de bytes livres me da o numero de bytes usados certo? Baseado nessa lógica, combinada com uma função que me mostra o “tamanho humano”, eu usei estas linhas de código.

< ?php

//partição da qual quero saber o espaço usado
$iParticao = "/";

echo "O espaço usado em $iParticao é: ".(HumanSize(disk_total_space($iParticao) - disk_free_space($iParticao)));

function HumanSize($iBytes){
$iType=array("", "Kilo", "Mega", "Giga", "Tera", "Peta", "Exa", "Zetta", "Yotta");
$iIndex=0;

while($Bytes >= 1024){
$iBytes /= 1024;
$iIndex++;
}

return number_format($iBytes, 2) . ” $iType[$iIndex]bytes”;
}
?>

Voce já sabia dessas funções?

Desenvolvimento, Interessante, Leu? Comente!, PHP

4 Responses to “Calculando o espaço livre no hd”

  1. André Valongueiro Says:
    maio 29th, 2007 at 18:28

    Fill, sou fã desses códigos elegantes!

    Preciso aprender a programar feito gente e ir além de scripts simples em JS, estou sedento por isso faz um bom tempo. :)

    Grande abraço!

  2. Rangel Says:
    maio 29th, 2007 at 19:31

    Essas funções são sempre úteis, e você nunca as tem quando precisa …
    Por isso … del.icio.us nela!

  3. Alexandre Says:
    maio 31st, 2007 at 00:27

    Que tal essa aqui:

    function humansize($size)
    {
    for($si = 0; $size >= 1024; $size /= 1024, $si++);
    return round($size, 1).substr(’ KMGTPEZY’, $si, 1).”B”;
    }

    Ela tem um resultado mais simples, mostra apenas “KB”, “MB”, GB” e não “KiloBytes” e por aí vai. Acredito que seja até mais oportuna, não vejo ninguém por aí escrevendo “O GMail dá dois Gigabytes de espaço”, costumam escrever apenas “GB”.

    Não sei o autor dessa função, não sou eu. Acho ela maravilhosamente elegante :)

  4. Andrey Pedro Lefkum Says:
    maio 31st, 2007 at 14:03

    Ae Fill!

    Cara já usei esse código.. quando vi rodando… quase me g… hehhahahah cara… te dar uma idéia… coloca um função JPGRAF para gerar Gráficos de espaço livre em disco =D

    Até mais!

Leave a Reply

Icons by N.Design Studio. Designed By Ben Swift. Powered by WordPress and Free WordPress Themes
RSS RSS dos Comentários Login