Jump to content

[RESOLU][PHP] stat size


Recommended Posts

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

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...