Yop,

Voulant utiliser la fonction shell_exec() le moins possible j'ai donc remplacé ma fonction de calcul utilisant la commande 'du -shc' par une fonction utilisant que du PHP.
Mon problème est le suivant, la taille retourné par les deux fonctions est différente !!

La fonction utilisant shell_exec() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
function gzw_du($repertoire)
{
	return exec('du -shc ' .escapeshellarg($repertoire). ' | tail -1 | cut -f1');
}
 
echo gzw_du('/var/www/panel/');
Le résultat retourné est 2.7 Méga.

La fonction utilisant que du PHP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function taille_dossier($rep)
{
	$racine = opendir($rep);
	$taille = 0;
 
	while($dossier = readdir($racine))
	{
		if(!in_array($dossier, Array('..', '.')))
		{
			if(is_dir($rep.'/'.$dossier))
			{
				$taille += taille_dossier($rep.'/'.$dossier);
			}
				else
				{
					$taille += filesize($rep.'/'.$dossier);
				}
		}
	}
 
	closedir($racine);
	return $taille;
}
 
echo taille_dossier('/var/www/panel/');
Le résultat retourné est 2221783 Octets (résultat converti en méga ici).

Qu'ai-je oublié, mal fait ?
Merci de votre.