Aller au contenu
View in the app

A better way to browse. Learn more.

Next

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[RESOLU][PHP] stat size

Featured Replies

Posté(e)

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

Archivé

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.