Affichage dernière image webcam [Résolu/Fermé]

Signaler
-
 Modelrc -
Bonjour,

Merci a tous si une personne pourrait me fournir un script php pour afficher la dernière image ou les trois dernières images de ma webcam. Et si c'est possible sans supprimer les image origines. Mes nom de fichier sont genre : image_année,mois,jour,heure,minutes et sauf erreur avec secondes
UN GRAND MERCI


2 réponses

Messages postés
32982
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 juin 2021
3 561
Bonjour,


Mes nom de fichier sont genre image_année,mois,jour,heure,minutes et sauf erreur avec secondes

Des "noms" de fichier ?
Pourrais tu être plus précis ??

En plus ... php s'éxécute côté "serveur" .... donc sauf si tu travailles en local sur ta machine (via un logiciel comme WAMP ou XAMPP ou EASYPHP...) cela n'est pas faisable.

Bref.. ta question manque cruellement d'informations détaillées sur ce que tu souhaites faire....

Bonsoir et merci de votre intéret. Je m'explique:
Nous avons un webcam qui transmets par FTP dans un répertoire de notre site les images qui sont nommée en format date et heure, genre : image_201607032345.
Je souhaite pourvoir afficher sur une page de mon site la dernière image transmise. Donc je pense en renommant la dernière image en current.jpg. Donc il faudrait pouvoir avoir un script qui liste le répertoire pour renommer chaque fois l'image plus récente en current.jpg
J'espère avoir été un peu plus clair - MERCI
Messages postés
32982
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 juin 2021
3 561 > modelrc

un script qui liste le répertoire pour renommer chaque fois l'image plus récente en current.jpg

Pourquoi ne pas prendre la plus récente tout simplement sans faire de renommage ?

En utilisant une fonction comme celle la par exemple :
function scan_dir($dir) {
    $ignored = array('.', '..', '.svn', '.htaccess');

    $files = array();    
    foreach (scandir($dir) as $file) {
        if (in_array($file, $ignored)) continue;
        $files[$file] = filemtime($dir . '/' . $file);
    }

    arsort($files);
    $files = array_keys($files);

    return ($files) ? $files : false;
}


Merci de ta réponse.
Je dois avouer ne pas être très fort dans les fonctions et ne sait pas ou placer ton exemple dans ma page et comment faire pour afficher l'image. Désolé et merci de votre dévouement. Il est vrai que je suis a a recherche d'un script déjà fait que que quelqu'une pourrait me le mettre gracieusement à dispo.
Messages postés
32982
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 juin 2021
3 561
La fonction.. tu la places où tu veux dans ta page.
Histoire que ton code soit "propre" et facile à débuguer, on place, en général, le code PHP au début de la page AVANT le code HTML.

Ensuite, lorsque tu dois afficher ton image... tu appelles cette fonction (qui te retourne un ARRAY ) et tu prends le plus récent de ce tableau.
  • nb: $dir correspond au répertoire contenant les images sur ton serveur
  • nb² : Le temps des tests... tu peux faire un PRINT_R du résultat retourné par la fonction pour voir comment est constitué l'array et ainsi voir comment t'en servir.


par exemple :
 <?php
 function scan_dir($dir) {
    $ignored = array('.', '..', '.svn', '.htaccess');

    $files = array();    
    foreach (scandir($dir) as $file) {
        if (in_array($file, $ignored)) continue;
        $files[$file] = filemtime($dir . '/' . $file);
    }

    arsort($files);
    $files = array_keys($files);

    return ($files) ? $files : false;
}

//utilisation de la fonction :
$dir = "monrepertoire/"; //repertoire contenant les fichiers à trier....
$test = scan_dir($dir);// appele de la fonction

//le temps des tests
 echo "<pre>";
 print_r($test);
 echo "</pre>";
 
//Fin du code PHP
?>

<!-- Code HTML -->
<html>
<head>
 <title> test.php </title>
</head>
<body>
  <?php
   echo "<div>";
   //le fichier le plus récent est :
   echo "<br>Le fichier le plus récent est donc :".$test[0];
   echo "</div>";
   
   //A la place.. tu peux mettre le code d'affichage de ton image....
   // par exemple : 
   echo "<div style='min-height:120px;width:200px;background-color:green'>";
   $image = $dir . $test[0];
   echo "<img src='$image' height='120px'></img>";
   echo "</div>";
  ?>
 </body>
</html>
>
Messages postés
32982
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 juin 2021

UN TRES GRAND MERCI - C'est exactement cela que je voulais.
>
Messages postés
32982
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 juin 2021

Encore une petite question
Est il possible de mettre un lien sur l'image pour l agrandir en pop up.merci infiniment