Ouvrir la photo la plus récente sur le site
ppellero
Messages postés
22
Statut
Membre
-
Ssylvainsab Messages postés 2892 Statut Modérateur -
Ssylvainsab Messages postés 2892 Statut Modérateur -
Bonjour,
Je suis nouveau dans ce forum.
Est-ce que quelqu'un peut m'indiquer un script en PHP ou Javascript pour ouvrir la photo la plus récente du répertoire de mon site contenant les photos venant de ma webcam.
Les photos sont numérotées ex:image0001.jpg.
Quand on appelle la page de la webcam il faudrai que la dernière photo apparaisse et que la page se rafraichisse et recharge la photo qui arrive.
Ceci afin de garder un historique de toutes les photos.
Merci de votre attention.
Je suis nouveau dans ce forum.
Est-ce que quelqu'un peut m'indiquer un script en PHP ou Javascript pour ouvrir la photo la plus récente du répertoire de mon site contenant les photos venant de ma webcam.
Les photos sont numérotées ex:image0001.jpg.
Quand on appelle la page de la webcam il faudrai que la dernière photo apparaisse et que la page se rafraichisse et recharge la photo qui arrive.
Ceci afin de garder un historique de toutes les photos.
Merci de votre attention.
A voir également:
- Ouvrir la photo la plus récente sur le site
- Google photo - Télécharger - Albums photo
- Comment ouvrir un fichier epub ? - Guide
- Site de telechargement - Accueil - Outils
- Ouvrir fichier .bin - Guide
- Ouvrir fichier .dat - Guide
6 réponses
Bonsoir.
Est-ce que toutes les images ont le même nom avec seulement le numéro différent ?
C'est à dire :
image0001.jpg
image0002.jpg
image0003.jpg
image0004.jpg
image0005.jpg
...
En PHP, ce script peut marcher je pense :
Ca, il faut le faire au chargement de la page. Comme ca tu peux afficher la dernière image en changeant les paramètres de echo.
Ensuite, tu peux mettre un script JS qui vérifie si l'image dont le numéro est un de plus que l'image en cours existe, et répète cette fonction toutes les 5 minutes par exemple.
Pour le code JavaScript je ne suis pas sur.
En php, il faut donner un attribut "id" a l'image qui correspond à son numéro.
Je ne suis pas sur que ca fonctionne, mais a mon avis c'est un début ;-)
a plus, et bonnes fêtes de fin d'année.
Est-ce que toutes les images ont le même nom avec seulement le numéro différent ?
C'est à dire :
image0001.jpg
image0002.jpg
image0003.jpg
image0004.jpg
image0005.jpg
...
En PHP, ce script peut marcher je pense :
<?php
$i=1;
$NumeroImage='000'.$i;
while(file_exists('image'.$NumeroImage.'.jpg'));
{
$i++;
if($i<10)
$NumeroImage='000'.$i;
elseif($i<100)
$NumeroImage='00'.$;
//en supposant qu'il n'y a pas plus de 999 images.
else
$NumeroImage='0'.$i;
}
echo 'La dernière image est "image'.$NumeroImage.'.png"';
?>
Ca, il faut le faire au chargement de la page. Comme ca tu peux afficher la dernière image en changeant les paramètres de echo.
Ensuite, tu peux mettre un script JS qui vérifie si l'image dont le numéro est un de plus que l'image en cours existe, et répète cette fonction toutes les 5 minutes par exemple.
function AfficherDerniereImage(NumeroImageID,NumeroImageSuivante)
{
var Image=document.getElementsByTagName('img')[0];
var NumeroImage=Image.id;
var NumeroImageSuivante=NumeroImage+1;
if(le fichier existe('image'+NumeroImageSuivante+'.jpg'))
{
Image.src='image'+NumeroImageSuivante+'.jpg';
Image.id=NumeroImageSuivante
}
setTimeout('AfficherDerniereImage('+NumeroImageSuivante+','+NumeroImageSuivante+1+')',60000);
}
setTimeout('AfficherDerniereImage('+NumeroImageSuivante+','+NumeroImageSuivante+1+')',60000);
Pour le code JavaScript je ne suis pas sur.
En php, il faut donner un attribut "id" a l'image qui correspond à son numéro.
Je ne suis pas sur que ca fonctionne, mais a mon avis c'est un début ;-)
a plus, et bonnes fêtes de fin d'année.
bonjour et bonne fête à tous,
la solution de ssylvain est valable si et seulement si quand tu charges tes photos, les numéros s'incrémentent et se suivent.
Pour ma part pour récupérer la dernière photo chargée j'utiliserai la fonction filemtime() qui récupère, au format unix la date de la dernière modification:
ex:
<?php
//chemin d'accès à ton dossier image
$dosImg = "./ton dossier/";
//initialisation du tableau contenant les informations et le nom de l'image
$tabImg = array();
//boucle qui liste ton dossier
while($fichier = readdir($dosImg))
{
//suppression des informations sur le fichier par sécurité
$fichier = basename($fichier);
//récupération de la date de dernière modification
$dateModif = filemtime($fichier);
$tabImg[0] = $dateModif ;^
$tabImg[1] = $fichier;//le nom du fichier ici 000x.jpg
}
//tri du tableau sur la première colonne
ksort($tabImg);
//affichage du tableau
while(list($time, $img) = each($tabImg))
{
echo "<p><a href=\"".$dosImg.$tabImg[1]."\">".$tabImg[1]."</a></p>";
}
?>
j'ai écrit la fonction à la volée et je ne l'ai pas vérifiée, mais le principe est là.
Tu auras peut-être besoin de créer une fonction de tri utilisateur
voir la fonction usort()
la solution de ssylvain est valable si et seulement si quand tu charges tes photos, les numéros s'incrémentent et se suivent.
Pour ma part pour récupérer la dernière photo chargée j'utiliserai la fonction filemtime() qui récupère, au format unix la date de la dernière modification:
ex:
<?php
//chemin d'accès à ton dossier image
$dosImg = "./ton dossier/";
//initialisation du tableau contenant les informations et le nom de l'image
$tabImg = array();
//boucle qui liste ton dossier
while($fichier = readdir($dosImg))
{
//suppression des informations sur le fichier par sécurité
$fichier = basename($fichier);
//récupération de la date de dernière modification
$dateModif = filemtime($fichier);
$tabImg[0] = $dateModif ;^
$tabImg[1] = $fichier;//le nom du fichier ici 000x.jpg
}
//tri du tableau sur la première colonne
ksort($tabImg);
//affichage du tableau
while(list($time, $img) = each($tabImg))
{
echo "<p><a href=\"".$dosImg.$tabImg[1]."\">".$tabImg[1]."</a></p>";
}
?>
j'ai écrit la fonction à la volée et je ne l'ai pas vérifiée, mais le principe est là.
Tu auras peut-être besoin de créer une fonction de tri utilisateur
voir la fonction usort()
errata
dans la boucle d'affichage, utilise les variables de list()
la première correspond à la clef de tri
donc ton affichage sera
echo "<p><a href=\"".$dosImg.$img."\">".$img."</a></p>";
dans la boucle d'affichage, utilise les variables de list()
la première correspond à la clef de tri
donc ton affichage sera
echo "<p><a href=\"".$dosImg.$img."\">".$img."</a></p>";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour et bonne année à tous.
J'ai résolu mon problème de script avec votre aide.
Voici ce que j'ai fait et ça marche!!!
<html>
<head>
<title>En direct avec ma webcam</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="20">
<meta http-equiv="Pragma" content="no-cache">
</head>
<body>
<?php
// remplis un tableau avec les noms de fichiers d'un dossier
$handle = opendir('./.');
while ( $file = readdir($handle) ) {
if (substr($file,0,5) == "photo" ){
$tab[] = $file;
}
}
closedir($handle);
//foreach ($tab as $element) { //pour verifier le contenu du tableau
//echo "$element\n<br>";
// }
$photo = end($tab);
echo"<img border='1' src='$photo' width=640 height= 480 >";
?>
</body>
</html>
Voila j'ouvre cette page dans un popup et c'est bon.
Si vous pensez améliorer ce code ne vous génez pas:)
J'ai résolu mon problème de script avec votre aide.
Voici ce que j'ai fait et ça marche!!!
<html>
<head>
<title>En direct avec ma webcam</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="20">
<meta http-equiv="Pragma" content="no-cache">
</head>
<body>
<?php
// remplis un tableau avec les noms de fichiers d'un dossier
$handle = opendir('./.');
while ( $file = readdir($handle) ) {
if (substr($file,0,5) == "photo" ){
$tab[] = $file;
}
}
closedir($handle);
//foreach ($tab as $element) { //pour verifier le contenu du tableau
//echo "$element\n<br>";
// }
$photo = end($tab);
echo"<img border='1' src='$photo' width=640 height= 480 >";
?>
</body>
</html>
Voila j'ouvre cette page dans un popup et c'est bon.
Si vous pensez améliorer ce code ne vous génez pas:)
Salut.
Le JS ne va pas pour recharger l'image sans la page ?
Car à mon avis c'est un peu lourd de recharger toutes les 20 secondes ;-)
A propos de l'amélioration du code, voici ce que j'ai fait.
A mon avis c'est ce qu'il y a de plus optimisé.
a plus
Le JS ne va pas pour recharger l'image sans la page ?
Car à mon avis c'est un peu lourd de recharger toutes les 20 secondes ;-)
A propos de l'amélioration du code, voici ce que j'ai fait.
A mon avis c'est ce qu'il y a de plus optimisé.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<meta http-equiv="refresh" content="20">
<meta http-equiv="Pragma" content="no-cache">
<title>En direct avec ma webcam</title>
</head>
<body>
<?php
//rempli un tableau avec les noms de fichiers d'un dossier
$handle=opendir('./.');
while($file=readdir($handle))
{
if(substr($file,0,5)=='photo')
$tab[]=$file;
}
closedir($handle);
$photo=end($tab);
echo'<img style="border-width:1px;width:640px;height:480px" src="',$photo,'">';
?>
</body>
</html>
a plus