Logo Miki92

Donazioni

PayPal - Il sistema di pagamento online più facile e sicuro!

TOP 100

Advertising

Come convertire i bytes in KB o MB e come calcolare lo spazio libero e quello totale con PHP
Versione per la Stampa

Scritto da Michelangelo il 28/07/2009 alle 11:29:45.

Come avete potuto leggere dal riassunto del post o come potete ben capire dal titolo in questo articolo tratteremo di dimensioni e di spazio, in particolar modo vedremo come convertire una dimensione espressa in bytes in kilobytes e/o megabytes sfruttando una funzione di PHP di mia invenzione...

Come molti di voi ben sapranno PHP ha diverse funzioni per calcolare lo spazio (dimensioni) di un file o di una cartella, funzioni come filesize(), disk_free_space(), disk_total_space(), ecc

Come si può leggere dal manuale queste funzioni restituiscono un valore espresso in bytes e non c'è modo (tramite la stessa funzione) di mostrarlo in KB o MB...ma se noi volessimo a tutti i costi il valore espresso in KB o MB?
Ecco, come annunciato prima utilizziamo una piccola funzione di mia invenzione che ci restituisce il valore in KB o MB a seconda della dimensione del file...in poche parole se il file è piccolo ci sarà restituito un valore in KB, mentre se il file è un po' più grandicello visualizzeremo il risultato in MB. Ecco di seguito la funzione che utilizzeremo:

<?php

// Funzione che restituisce il valore in KB o MB

function Peso($size){

if(
$size 1000000){

$size ceil($size/1024). " KB";

}else{

$size round(($size/1024)/1024,1)." MB";

}

return 
$size;

?>


Affinchè questa funzione funga correttamente sarà sufficiente utilizzare la funzione con al suo interno un valore in bytes come ad esempio il seguente:

<?php

// Funzione che restituisce il valore in KB o MB

function Peso($size){

if(
$size 1000000){

$size ceil($size/1024). " KB";

}else{

$size round(($size/1024)/1024,1)." MB";

}

return 
$size;

}

echo 
Peso("1024"); // Stamperà a video "1 KB" in quanto 1024 bytes = 1 KB, 1024 KB = 1 MB, 1024 MB = 1 GB, ecc

?>


Se adesso vogliamo sfruttare questa funzione per calcolare lo spazio disponibile e quello totale di una cartella o del nostro sito internet bisognerà utilizzare disk_free_space() e disk_total_space():

<?php

// Ricavo lo Spazio libero e quello totale

$percorso "/"// Path Assoluta della cartella da "analizzare"

$fs disk_free_space($percorso);
$ts disk_total_space($percorso);

?>


Ricavate le dimensioni mostriamole a video filtrate dalla nostra funzione:

<?php

// Mostro lo spazio totale e quello disponibile filtrandolo con la funzione Peso()

echo "Spazio Disponibile: ".Peso($fs);
echo 
"<br />";
echo 
"Spazio Totale: ".$Peso($ts);

?>


Adesso, mettendo tutto insieme, lo script finale sarà:

<?php

// Funzione che restituisce il valore in KB o MB

function Peso($size){

if(
$size 1000000){

$size ceil($size/1024). " KB";

}else{

$size round(($size/1024)/1024,1)." MB";

}

return 
$size;

}

// Ricavo lo Spazio libero e quello totale

$percorso "/"// Path Assoluta della cartella da "analizzare"

$fs disk_free_space($percorso);
$ts disk_total_space($percorso);

// Mostro lo spazio totale e quello disponibile filtrandolo con la funzione Peso()

echo "Spazio Disponibile: ".Peso($fs);
echo 
"<br />";
echo 
"Spazio Totale: ".$Peso($ts);

?>


Spero che questo articolo vi sia stato utile Buon Divertimento!!!

Condividi



Tutti i campi sono obbligatori.
Nome:
Indirizzo e-mail1:
Commento2:
Ricarica Codice CaptchaRicopia questo codice qui sotto
Codice Captcha:

1 Il tuo indirizzo e-mail non verrà pubblicato ma occorre inserirlo.
2 Puoi inserire del codice JavaScript o PHP utilizzando i tag [php] e [/php].