Webcam - Renommer les fichiers commençants par Webcms1xxxxx

Mammouth du PHP | 620 Messages

15 déc. 2021, 17:04

Bonjour,
sur un site j'ai un répertoire ftp avec de captures de webcams qui s'enregistrent.
le nom des captures se font toutes les x minutes et s'appellent Webcms1xxxxxxxx
La soucis c'est que comme le nom change a chaque capture je ne peu afficher la dernière capture et je voudrai donc renommer les fichiers Webcms1xxxxxxxx.jpg en webcam1.jpg
J'ai bien trouvé la fonction "rename" mais le soucis c'est que ça ne fonctionne qu'avec des noms fixes.

Code : Tout sélectionner

<?php rename("/cameras/Webcms1(chiffre aléatoires).jpg", "/cameras/webcam1.jpg"); ?>
Existe 'il un moyen d'automatiser la réécriture du nom ?
Merci pour votre aide

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

15 déc. 2021, 17:50

Un truc du genre :
// Récupérer la liste des fichiers
$liste_fichiers = glob("/cameras/Webcms1*.jpg");

// Trier cette liste du plus récent au plus ancien
usort($liste_fichiers, fn($a, $b) => filemtime($a) - filemtime($b));

// Récupérer le fichier le plus récent
$fichier_leplus_recent = $liste_fichiers[0];

// Et ensuite soit tu fais un rename() ou une redirection
Par contre plutôt que de renommer le fichier, tu pourrais aussi faire une redirection vers celui-ci.
En gros l'utilisateur appelle ton fichier PHP qui le redirige vers la photo la plus récente...
A voir si c'est adapté à ton besoin :-D
Quand tout le reste a échoué, lisez le mode d'emploi...