Aller au contenu

[RESOLU][PHP] stat size


Mephisto

Messages recommandés

Bonjour !

Je me retrouve confronté à un petit problème, sur un bout de code php.

En effet, sur "une sorte de browser", je liste différents fichiers vidéos et, pour épurer le bordel des fichiers dont la génération a échoué, au chargement de la page, je fais un rm des fichiers dont la taille est inférieur à 24 octets.

Sauf que voilà, depuis que j'ai bidouillé notre encodeur, les fichiers vidéos peuvent être très gros et, dans le cas d'un fichier de 19G (seul test que j'ai fait pour l'instant), stat me renvoi une size incohérente, et je rentre systématiquement dans la condition qui gère l'épuration.

le code de debug:

$fileinfos = stat($file);
if ($fileinfos['size'] < 24 && !isingen($file)) // je verifie la taille, et que le fichier testé n'est pas en cours de génération
 echo "rm ".$path." -> ".($fileinfos['size'] < 24 ? "toto" : "tata");//exec("rm -f $path > /dev/null 2>&1 &");

sur le fichier de 19G, j'obtiens:

rm /disk/export/video.avi -> toto

Donc, selon vous, comment garder le même principe de fonctionnement, sans pour autant baiser 6h d'encodage à chaque refresh ?

Merci !

edit: bon, c'est bien ce qui me semblait, stat est limité à 2 (ou 4, suivant les interprétations...) GB, au delà, ils proposent d'utiliser sprintf("%u", filesize($path)) (de base, filesize aussi renvoit de la merde...)

ma solution: $size = system("stat -f '%z '.$path)

edit2:

bon, par contre, je comprends par pourquoi, il m'affiche le résultat de la commande en plus de le récupérer dans $size

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...