Fous le chemin absolu vers le fichier. Là, avec readdir() tu récupères un truc du style "monfichier.txt" et tu fais un filesize() dessus. Or, l'interpréteur PHP ne se trouve pas dans le répewrtoire que tu browses (fais un getcwd() pour savoir où il est).
Donc quand tu fais filesize(), tu le fais sur un fichier qu'il ne connaît pas donc il te retourne 0. Tu as alors le choix pour avoir la bonne réponse :
- faire un chdir() vers le répertoire que tu browses et ne rien changer à ton code. C'est crade passke ça introduit un effet de bord pas terrible (ou alors faut refaire un chdir() vers le répertoire précédent... mouais).
- passer le chemin absolu vers le fichier dans le filesize(), genre en faisant filesize($dir.$fichier) ou un truc du style.
---------------
Everyone thinks of changing the world, but no one thinks of changing himself | It is the peculiar quality of a fool to perceive the faults of others and to forget his own | Early clumsiness is not a verdict, it’s an essential ingredient.