Probleme d'affichage de taille de fichier
Résolu
Nerd29
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Nerd29 Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Nerd29 Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voila mon soucis, j'ai crée une page html/php avec un tableau listant les fichiers d'un répertoire de mon serveur Linux.
Dans ce tableau je souhaiterai afficher la taille des fichiers listés.
J'ai utilisé plusieurs méthode et à chaque fois j'arrive au même résultat, cela ne marche que sur certains fichiers, les autres retourne vide .... (Pourtant avec des tailles équivalente, inférieur et supérieur, et de même type).
J'ai essayé avec les fonctions filesize(monFichier), ou exec("du -f monFichier").
voila un extrait de mon code php :
voici une capture du résultat :

Merci d'avance.
Voila mon soucis, j'ai crée une page html/php avec un tableau listant les fichiers d'un répertoire de mon serveur Linux.
Dans ce tableau je souhaiterai afficher la taille des fichiers listés.
J'ai utilisé plusieurs méthode et à chaque fois j'arrive au même résultat, cela ne marche que sur certains fichiers, les autres retourne vide .... (Pourtant avec des tailles équivalente, inférieur et supérieur, et de même type).
J'ai essayé avec les fonctions filesize(monFichier), ou exec("du -f monFichier").
voila un extrait de mon code php :
while(false !== ($fichier = readdir($dossier))) // je boucle sur chaque élément du dossier
{
echo '<tr> ';
echo '<td><a href="./partage/' . $fichier . '" rel="nofollow" target="_blank" download="'.$fichier.'">' . $fichier . '</a></td>'; // ici j'affiche le nom du fichier sur la premiere colonne
$type = filetype($fichier); // recuperation du type
$taille = filesize($fichier); // recuperation de la taille
//affichage dans le tableau
echo '<td>'.$taille.'</td>';
echo '<td>'.$type.'</td>';
echo '</tr>';
}
voici une capture du résultat :

Merci d'avance.
A voir également:
- Probleme d'affichage de taille de fichier
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Quelle est la valeur de la variable $dossier ?
Le problème peut simplement venir du chemin vers le fichier qui semble incorrect si le dossier parcouru n'est pas le dossier où est exécuter le script, ce qui expliquerait l'affichage du poids de certains fichiers si le dossier où est exécuté le script contient des noms de fichier identiques au dossier parcouru par le script.
Donc essaye de renseigner le chemin vers le fichier comme ceci :
La fonction filesize renvoie la valeur false en cas d'erreur, ce qui semble être le cas vu l'affichage de ton tableau (echo false n'affiche rien).
Tu peux donc également faire ce test pour vérifier si il y a une erreur :
Le problème peut simplement venir du chemin vers le fichier qui semble incorrect si le dossier parcouru n'est pas le dossier où est exécuter le script, ce qui expliquerait l'affichage du poids de certains fichiers si le dossier où est exécuté le script contient des noms de fichier identiques au dossier parcouru par le script.
Donc essaye de renseigner le chemin vers le fichier comme ceci :
$taille = filesize($dossier . $fichier); // ou comme ceci si la variable $dossier ne contient pas d'antislash à la fin du chemin : $taille = filesize($dossier . '/' . $fichier);
La fonction filesize renvoie la valeur false en cas d'erreur, ce qui semble être le cas vu l'affichage de ton tableau (echo false n'affiche rien).
Tu peux donc également faire ce test pour vérifier si il y a une erreur :
$taille = filesize($fichier); if ($taille === false) { echo 'Erreur filesize : php doit générer un warning expliquant la cause de l\'erreur'; }
Salut,
Essaye d'activer l'affichage des erreurs php en ajoutant ces deux lignes au début de ton script php :
As tu des erreurs PHP suite à cette activation ?
Bonne journée,
Essaye d'activer l'affichage des erreurs php en ajoutant ces deux lignes au début de ton script php :
ini_set('display_errors', true); error_reporting(E_ALL);
As tu des erreurs PHP suite à cette activation ?
Bonne journée,
Effectivement c’était bien ça, le script que j’exécute se situe au dessus du répertoire que je lis, en ajoutant le chemin du dossier avant le fichier, il a bien trouvé les tailles.
Bravo, c’était pas évident a trouver comme ça.
Encore merci.