Afficher l'image la + récente d'un rep comprenant 3 niveaux de sous répertoire

Fermé
Philoustetou Messages postés 1 Date d'inscription mardi 12 octobre 2021 Statut Membre Dernière intervention 12 octobre 2021 - Modifié le 12 oct. 2021 à 23:50
jordane45 Messages postés 38198 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 juin 2024 - 13 oct. 2021 à 00:07
Bonjour,
Je possède un site météo qui fonctionnait avec une webcam et un petit logiciel qui prenait une photo toutes les 5'. Je la récupérais avec un logiciel ftp et l'envoyait automatiquement sur mon site. Plus de webcam mais une Reolink IP 510 dorénavant qui envoie en ftp sur mon site dans un répertoire mais en créant des sous répertoires ( Année, mois, jours... 2021/10/12) et en nommant les fichiers en fonction de la date avec l'entête de la station (meteoplerin_00_20211012224356.jpg) soit /cam/2021/10/12/meteoplerin_00_20211012224356.jpg

Je suis un "bille" en programmation et j'ai donc recherché sur le forum des infos et scripts qui pourraient s'adapter à mon problème:
Un script qui rechercherait dans le répertoire /cam (et donc 3 niveaux de sous répertoires) la photo la plus récente, la renommerai meteoplerin.jpg et la déplacerait dans le répertoire /cam tout en effaçant les plus anciennes

J'ai trouvé un script qui ressemble mais il ne scrute pas les sous répertoires et il ne fonctionnait pas vraiment. il est ici:
Script de Akronos en 2011 !!!!
https://forums.commentcamarche.net/forum/affich-20555749-php-afficher-l-image-la-recente-d-un-rep
Voilà, si le challenge vous intéresse ☺️, je serai super content que vous m'aidiez ????????

L'adresse de mon site:
http://philippe.souquieres.free.fr/meteo/

Evidemment les pages cam ne fonctionnent pas et quelques liens sont morts car j'avais un peu délaissé le site, mais la retraite est arrivée ???? et j'ai un peu plus de temps maintenant.
Merci d'avance
Philippe

Configuration: Macintosh / Safari 15.1
A voir également:

1 réponse

jordane45 Messages postés 38198 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 juin 2024 4 675
13 oct. 2021 à 00:07
Bonjour,

Là comme ça, sans trop chercher je dirais :
Lister les répertoires se trouvant au premier niveau ( trié en ordre croissant )
(avec la fonction glob tu devrais t'en sortir )
$dir = '/cam';
$directories = glob($dir . '/*', GLOB_ONLYDIR);

Utiliser la fonction "end" pour obtenir le dernier élément ( donc le plus "grand")
https://www.php.net/manual/fr/function.end.php

Faire la même chose sur le second niveau...

Puis utiliser le script que tu avais trouvé pour déterminer la photo la plus récente.

Pour finir, utiliser la fonction rename pour déplacer l'image à l'endroit désiré et la renommer en même temps
https://www.php.net/manual/fr/function.rename.php


0