Taille fichier dans explorateur

shadow578 Messages postés 102 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 27 juin 2011 - 10 déc. 2009 à 09:50
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 10 déc. 2009 à 11:21
hello tout le monde,

Voilà j'ai créer un petit script en delphi qui me sert "d'explorateur" il marche très bien mais pour améliorer la chose je voudrais que sur un fichier il marche la taille du fichier mon soucis:

- J'arrive a afficher la taille mes pas au bon endroit
- j'arrive a afficher au bon endroit mais plus la taille
Compliqué je sais je vous montre avec le code avec des commentaire:
// La fonction pour la taille:
function FormatTailleFichier($Taille)
{
 if($Taille 0)					$format "";
else if($Taille <1024)				$format $Taille." oct";
else if($Taille <(10*1024))			$format sprintf ("%.2f k%s",($Taille/1024),"o");
else if($Taille <(100*1024))			$format sprintf ("%.1f k%s",($Taille/1024),"o");
else if($Taille <(1024*1024))			$format sprintf ("%d k%s",($Taille/1024),"o");
else if($Taille <(10*1024*1024))		$format sprintf ("%.2f M%s",($Taille/(1024*1024)),"o");
else if($Taille <(100*1024*1024))		$format sprintf ("%.1f M%s",($Taille/(1024*1024)),"o");
else									$format = sprintf ("%d M%s",($Taille/(1024*1024)),"o");

return $format;

}	

//Et là ou j'aimerai placer ma taille c'est ici:
$tab[$index] =   "<TR><TD>       $icone " . $fichier . "</TD><TD> ??? </TD></TR>
\r\n"; 
$index++;
/*
Voilà à la places des ??? alors j'ai mis la ligne qui marché avant mais comme c'est un echo en php il doit mal l'interpréter:
*\
// La ligne qui me dit la taille
echo FormatTailleFichier(filesize($chemin."/".$nomfic));

// et j'ai essayer çà mais sa ne marche pas:
$tab[$index] =   "<TR><TD>       $icone " . $fichier . "</TD><TD>FormatTailleFichier(filesize($chemin."/".$fichier)); </TD></TR>
\r\n"; 


J'espère que c'est clair car c'était compliqué à expliquer ^^

merci de votre aide

1 réponse

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
10 déc. 2009 à 11:21
Salut,

j'ai créer un petit script en delphi

En PHP plutôt non ?

Une petite remarque sur les unités de mesure :
1 kilooctet (ko) = 1000 octets (o)
1 megaoctet (mo) = 1000 kilooctets (ko)
1 gigaoctet (go) = 1000 megaoctet (mo)
etc

Ta formule de calcul est donc fausse, il te faut mettre 1000 et non 1024 si tu veux avoir la taille en kilo, mega, giga etc.
Mais peut-être confond-tu avec une autre unité de mesure :
1 kibioctet (kio) = 1024 octets (o)
1 mébioctet (mio) = 1024 kibioctet (kio)
1 gibioctet (gio) = 1024 mébioctet (mio)
etc

Maintenant pour ton problème :
Il se trouve que tu foure tout et n'importe quoi dans ta chaîne de caractère (la dernière), essaye donc déjà de relire la doc afin de maîtriser pleinement les strings. Essaye donc ceci (et surtout de relire la donc et de comprendre) :
$tab[$index] = '<TR><TD>[' . $chemin2 . '/' . $fichier . '      ' . $icone . ' ' . $fichier . ']</TD><TD>' . FormatTailleFichier(filesize($chemin.'/'.$fichier)) . "</TD></TR>
\r\n";

(j'espère que c'est bon, j'ai fait ça un peu à la rache)
0
Rejoignez-nous