Eléphant du PHP |
351 Messages
11 juin 2006, 00:39
J'ai donc mis ce code en haut de ma pahe upload.php :
<?php
/*
Liscence : GPL
Author : fab
Mail : [email protected]
*/
/**
@function calc_size
@param text dir rép dont on veut connaitre la taille
@return numeric
formate la taille retourné par la fonction calc_size_Rdir
*/
function calc_size($dir)
{
$size = calc_size_Rdir($dir);
$filesizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
return round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $filesizename[$i];
}
/**
@function calc_size_Rdir
@param text dir_start dossier dont on va calculer la taille
@return numeric
calcul de la taille d'un dossier en ajouter celle de ses fichiers
*/
function calc_size_Rdir($dir_start)
{
$size = 0;
$open = opendir($dir_start);
while($file = readdir($open))
{
if($file != '.' && $file != '..')
{
if(is_dir($dir_start .'/'.$file))
{
$new_dir = $dir_start .'/'.$file;
$size = $size + calc_size_Rdir($new_dir);
}
else
{
$size = $size + filesize($dir_start .'/'.$file);
}
}
}
return $size;
}
?>
<?php
$dir = getcwd();
$size = calc_size($dir);
echo $size;
?>
Ce qui me donne bien le taille de mon répertoire upload, je voudrais maintenant, faire un bout de code en plus afin de vérifier si le $size est supérieur à 70 MO, et si oui, ne pas afficher la page, mais un message, comment faire?
Merci