Comment faire afficher la taille d'un fichier ?

Résolu
cs_Nestor Messages postés 182 Date d'inscription mardi 8 janvier 2002 Statut Membre Dernière intervention 2 octobre 2012 - 27 mai 2005 à 18:33
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 18 juil. 2009 à 13:59
Salut @ tous et @ toute

je voudrais renvoyer la taille d'un fichier en octet sur une page.
au lieu de le faire à la main à chaque fichiers que je met en téléchargement, je voudrais faire afficher la taille sur une page pour donner l'info à l'user.

Merci de votre aide.

10 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
27 mai 2005 à 20:02
tu veux surement la fonction filesize() ?
3
cs_Nestor Messages postés 182 Date d'inscription mardi 8 janvier 2002 Statut Membre Dernière intervention 2 octobre 2012
27 mai 2005 à 22:49
tu aurais un exemple ?
tu sais moi et le php c'est encore l'inconu...
je sais ajouter/modifier des scripts php mais je saurais pas aller plus loint sans la création pur.

Alors si tu as un exemple concrét, ca serait cool. En plus tu ferais partager ton savoir faire avec la communauté
Merci
3
cs_Nestor Messages postés 182 Date d'inscription mardi 8 janvier 2002 Statut Membre Dernière intervention 2 octobre 2012
27 mai 2005 à 23:00
c'est bon j'ai trouvé:



<?php
$nom_du_fichier = '/download/lundi/monfichier.zip'; //Emplacement du fichier
echo $filename . ': ' . filesize($nom_du_fichier) . ' octets'; // Affiche la taille en octets
?>

A bientot tous 
3
paul_arnaud Messages postés 11 Date d'inscription lundi 3 février 2003 Statut Membre Dernière intervention 27 juin 2006
27 mai 2005 à 23:05
Salut,

Pour connaître le poids, tu peux utiliser la fonction filesize.
la taille est alors retournée en octet.

exemple pour un fichier déjà téléchargé :
$file="sous_rep/nom__du_fichier";
$size = (filesize($file)/1000);
echo $size;

Exemple pour un fichier que tu viens d'uploader (j'ai trouvé ça chez qq mais je sais plus qui) :
$dest_rep="sous_repertoire/";
$nom_file=$_FILES['file_name']['name'];
if(file_exists($dest_rep.$nom_file))
{
$nom_img = preg_replace("/\.([a-zA-Z]{3,4})$/i", "_".time().".\\1", $nom_file);
}
if (move_uploaded_file($_FILES['file_name']['tmp_name'], $dest_rep.$nom_file))
{
echo "Taille :$_FILES['file_name']['size']/1024 Ko
}

paul_arnaud
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nestor Messages postés 182 Date d'inscription mardi 8 janvier 2002 Statut Membre Dernière intervention 2 octobre 2012
28 mai 2005 à 08:44
merci paul_arnaud pour la parti Upload
j'en avais pas besoin mais ca me donne une idée.

Merci à tous et bonne route
3
superbaloo78 Messages postés 87 Date d'inscription vendredi 29 août 2003 Statut Membre Dernière intervention 19 mai 2006
28 mai 2005 à 10:38
Un autre moyen de le faire est egalement

$urlfichier = 'tonchemindaccesaufichier';
if(filesize($urlfichier) >= '1048576')
{
echo('le fichier fait : '.((filesize($urlfichier))/1048576).' Mo');
}
elseif(filesize($urlfichier) >= '1024')

{

echo('le fichier fait : '.((filesize($urlfichier))/1024).' Ko');

}
else

{


echo('le fichier fait : '.filesize($urlfichier).' o');


}
Ca te permet d'afficher la taille du fichier en Mo ou en ko ou en o en fonction de sa taille (j'ai pas coder pour le Go ni pour le To mais je pensais pas que c'etait utile parce que je pense que tu obtient un timeout sur la fonction filesize de toute facon mais si tu veux la rajouter c'est pas bien dur !

Superbaloo
Superbaloo
3
cs_Nestor Messages postés 182 Date d'inscription mardi 8 janvier 2002 Statut Membre Dernière intervention 2 octobre 2012
28 mai 2005 à 11:15
Merci superbaloo78
d'autres exemples comme le tien ce trouve sur le site Off de php ;-) mais merci pour ceux qui souhaitent reprendre ton exemple.
0
ZuGbEn Messages postés 32 Date d'inscription lundi 14 octobre 2002 Statut Membre Dernière intervention 7 juillet 2007
28 mai 2005 à 18:05
Je m'embétait alors j'ai fait ca, si ca peut te servir...

J'en profite pour signaler qu'il existe la fonction stat() qui retourne
différentes infos sur le fichiers, comme la taille, la date de
modification, la date du dernier accès...



<?

$o=Array(" o"," Ko"," Mo"," Go"," To"); // tableau pour les unités

$fstat stat($file); //appel de la fonction stat, on peut aussi remplacer par $fstat["size"] filesize($urlfichier);

$taille= ($fstat["size"]!=0) ?
round($fstat["size"]/pow(1024,floor(log($fstat["size"])/log(1024))),2).$o[floor(log($fstat["size"])/log(1024))]
: "0 o";

echo $taille;
?>



hum, cherchez pas trop à comprendre, ca marche...

Ca sert paut-ètre à rien, je me suis peut-ètre compliqué la vie pour rien , mais j'ADORE me compliquer la vie
0
petitchevalroux Messages postés 4 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 16 janvier 2009
18 juil. 2009 à 11:32
Sinon j'ai fait une fonction qui fait ça et qui reprend un peu le code proposé par ZuGbEn :
Afficher l'unité d'une taille de fichier
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
18 juil. 2009 à 13:59
Salut,

Juste une remarque sur le commentaire de superbaloo78 :
j'ai pas coder pour le Go ni pour le To mais je pensais pas que c'etait utile parce que je pense que tu obtient un timeout sur la fonction filesize de toute facon

=>
A mon avis la taille du fichier ne change strictement rien car il n'y a pas chargement de ce fichier. Que tu fasses un filesize sur un fichier de 12o ou de 120000 To reviendra au même.

Cordialement,


Kohntark -
0
Rejoignez-nous