PHP : afficher l'image la + recente d'un rep
Fermé
rssi69
Messages postés
10
Date d'inscription
lundi 17 janvier 2011
Statut
Membre
Dernière intervention
18 janvier 2011
-
17 janv. 2011 à 11:28
maka54 Messages postés 698 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 - 18 févr. 2012 à 09:59
maka54 Messages postés 698 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 - 18 févr. 2012 à 09:59
A voir également:
- PHP : afficher l'image la + recente d'un rep
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php?id=1 - Forum PHP
- Php natif - Forum PHP
- Retour à la ligne php ✓ - Forum PHP
5 réponses
Akronos
Messages postés
140
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
31 janvier 2011
32
Modifié par Akronos le 17/01/2011 à 11:37
Modifié par Akronos le 17/01/2011 à 11:37
Quand tu dis ouverture qu'entends-tu par là?
Sinon, c'est un script un peu pointu que tu désires.
Je me souviens l'avoir déjà codé. je vais essayé de te récupéré ça.
Sinon, c'est un script un peu pointu que tu désires.
Je me souviens l'avoir déjà codé. je vais essayé de te récupéré ça.
xamurai
Messages postés
223
Date d'inscription
mardi 11 janvier 2011
Statut
Membre
Dernière intervention
19 février 2013
15
17 janv. 2011 à 15:09
17 janv. 2011 à 15:09
utilise ma function :
$recentData = readMyFile( Liens_vers_image_recente ); replaceFile("recent.jpg" ,$recentData ); function replaceFile($fileName,$text) { //print_r($text); $isWrotten= true; if(!$flux = fopen( $fileName , "w" )){ $isWrotten = false; } if (fwrite ($flux, $text)) { } else { $isWrotten = false; } fclose($flux); chmod ($fileName, 0777); return $isWrotten; } function readMyFile( $fileName ) { $fileText = ""; // chown($fileName,777); if(!$flux = fopen( $fileName , "r" )){ } else{ if($flux){ while(!feof($flux)){ $fileText .= fgets($flux , 4096); } } } fclose($flux); return $fileText; }
rssi69
Messages postés
10
Date d'inscription
lundi 17 janvier 2011
Statut
Membre
Dernière intervention
18 janvier 2011
17 janv. 2011 à 15:23
17 janv. 2011 à 15:23
Merci pour la rapidite, je teste des que je suis en face d'un serveur PHP
concretement je pense qu'il faut dans le repertoire au debut une image current.jpg
à quoi correespont la variable "Liens_vers_image_recente"
Aussi comment demarrer le script depuis uen URL ?
est-ce que les anciens fichiers (plus vieux que current.jpg sont supprimés) ?
Super merci encore !
concretement je pense qu'il faut dans le repertoire au debut une image current.jpg
à quoi correespont la variable "Liens_vers_image_recente"
Aussi comment demarrer le script depuis uen URL ?
est-ce que les anciens fichiers (plus vieux que current.jpg sont supprimés) ?
Super merci encore !
xamurai
Messages postés
223
Date d'inscription
mardi 11 janvier 2011
Statut
Membre
Dernière intervention
19 février 2013
15
17 janv. 2011 à 15:23
17 janv. 2011 à 15:23
Liens_vers_image_recente : c'est l'enplacement de la derniere image que tu as recut de la webcam:
par exemple https://www.pagesjaunes.fr/
par exemple https://www.pagesjaunes.fr/
rssi69
Messages postés
10
Date d'inscription
lundi 17 janvier 2011
Statut
Membre
Dernière intervention
18 janvier 2011
18 janv. 2011 à 07:13
18 janv. 2011 à 07:13
merci encore, et bravo pour le style concis
tout a fait t'accord pour le re-use.. mais pour l'economie c'est raté car il faut d'abord j'apprenne le php, ca rique d'etre long et pas tres econome pour moi.... surtout que je n'ai qu'une page a ecrire....
tout a fait t'accord pour le re-use.. mais pour l'economie c'est raté car il faut d'abord j'apprenne le php, ca rique d'etre long et pas tres econome pour moi.... surtout que je n'ai qu'une page a ecrire....
Akronos
Messages postés
140
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
31 janvier 2011
32
Modifié par Akronos le 17/01/2011 à 15:32
Modifié par Akronos le 17/01/2011 à 15:32
Tiens ce que je t'ai fait:
Current.php:
Current.php:
<?php /**************************************/ /* Date 17/01/2011 */ /* Affichage de la dernière image */ /*************************************/ // Tout les nomFichiers sont de titre: // webcamAAAAMMJJHHmm.jpg // On récupère le nom des fichiers // On ouvre le répertoire en question $repertoire = 'webcam'; $dir = opendir($repertoire); // On parcours les fichiers // On veut localiser le plus récent // On créer un tableau contenant le nom et la date $i = 0; while ($nomFichier = readdir($dir)) { if(($nomFichier != '..')&&($nomFichier !='.')) { //On change les permissions du fichier chmod($repertoire . '/' . $nomFichier,777); $annee = substr($nomFichier,6,4); $mois = substr($nomFichier,10,2); $jour = substr($nomFichier,12,2); $heure = substr($nomFichier,14,2); $minute = substr($nomFichier,16,2); $dateFichier[$i] = array('annee' => $annee, 'mois' => $mois, 'jour' => $jour, 'heure' => $heure, 'minute' => $minute, 'nom' => $nomFichier); $i++; } } // On ferme le répertoire closedir($dir); // Création des variables temporaires de comparaisons $tmpAnnee = 0; $tmpMois = 0; $tmpJour = 0; $tmpHeure = 0; $tmpMinute = 0; $current = 0; // Comparaisons des dates et récupération du nom du fichier le plus récent foreach($dateFichier as $id => $tableau) { foreach($tableau as $libelle => $valeur) { if($libelle != 'nom') $valeur = (integer)$valeur; switch($libelle) { case 'annee': if($valeur > $tmpAnnee) { $tmpAnnee = $valeur; $current = $tableau['nom']; } break; case 'mois': if(($tableau['annee'] == $tmpAnnee)&&($valeur > $tmpMois)) { $tmpMois = $valeur; $current = $tableau['nom']; } break; case 'jour': if(($tableau['annee'] == $tmpAnnee)&&($tableau['mois'] == $tmpMois)&&($valeur > $tmpJour)) { $tmpJour = $valeur; $current = $tableau['nom']; } break; case 'heure': if(($tableau['annee'] == $tmpAnnee)&&($tableau['mois'] == $tmpMois)&&($tableau['jour'] == $tmpJour)&&($valeur > $tmpHeure)) { $tmpHeure = $valeur; $current = $tableau['nom']; } break; case 'minute': if(($tableau['annee'] == $tmpAnnee)&&($tableau['mois'] == $tmpMois)&&($tableau['jour'] == $tmpJour)&&($tableau['heure'] == $tmpHeure)&&($valeur > $tmpMinute)) { $tmpMinute = $valeur; $current = $tableau['nom']; } break; } } } // On reouvre le répertoire $dir = opendir($repertoire); //On a récupérer le nom du fichier le plus récent, on le renomme current while($Fichier = readdir($dir)) { if($Fichier == $current) { if(is_file('current.jpg')) unlink('current.jpg'); else rename($repertoire . '/' . $current,'current.jpg'); echo 'Fichier ' . $current . ' renommé'; $current = 'current.jpg'; echo ' en ' . $current . '<br />'; } if(($Fichier != '..')&&($Fichier !='.')&&($Fichier!='current.jpg')) { //~ unlink($nomFichier); echo 'Fichier ' . $Fichier . ' supprimé. <br />'; } } //~ echo '<pre>'; //~ print_r($dateFichier); //~ echo '</pre>'; // On referme le répertoire closedir($dir); // On commence par extraire l'année, puis les mois, les jours, les heures et enfins les minutes ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>La dernière image</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div> <image src="webcam/current.jpg" alt="Dernière image en date" /> </div> </body>
Akronos
Messages postés
140
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
31 janvier 2011
32
17 janv. 2011 à 15:29
17 janv. 2011 à 15:29
S'il n'y a pas de fichier de type webcamAAAAMMJJHHmm.jpg dans le dossier places-y un current.jpg par défaut, c'est toujours mieux.
Sinon, tout devrait fonctionné niquel. Pour enlever le texte il te suffit de mettre deux / devant tout les echo.
Sinon, tout devrait fonctionné niquel. Pour enlever le texte il te suffit de mettre deux / devant tout les echo.
rssi69
Messages postés
10
Date d'inscription
lundi 17 janvier 2011
Statut
Membre
Dernière intervention
18 janvier 2011
17 janv. 2011 à 15:29
17 janv. 2011 à 15:29
Bravo !
je teste des que je peux FTP le truc vers un serveur PHP,
je te tiens au courant
merci Akronos
je teste des que je peux FTP le truc vers un serveur PHP,
je te tiens au courant
merci Akronos
Akronos
Messages postés
140
Date d'inscription
jeudi 6 janvier 2011
Statut
Membre
Dernière intervention
31 janvier 2011
32
Modifié par Akronos le 17/01/2011 à 15:35
Modifié par Akronos le 17/01/2011 à 15:35
Pas de soucis je m'ennuies au plus haut point...
Sinon j'ai regarder ce que xamurai t'as donné, c'est pas mal non plus, mais t'as besoin de savoir utilisé ses fonctions. Avec le mien il te suffit d'enregistrer sous current.php à la racine. (http://monsite/current.php)
Aussi, mon script ne fonctionne que dans le cas que tu m'as donné, si demain tu décide de renommer les fichiers autrement il faudra modifié le script.
Sinon j'ai regarder ce que xamurai t'as donné, c'est pas mal non plus, mais t'as besoin de savoir utilisé ses fonctions. Avec le mien il te suffit d'enregistrer sous current.php à la racine. (http://monsite/current.php)
Aussi, mon script ne fonctionne que dans le cas que tu m'as donné, si demain tu décide de renommer les fichiers autrement il faudra modifié le script.
rssi69
Messages postés
10
Date d'inscription
lundi 17 janvier 2011
Statut
Membre
Dernière intervention
18 janvier 2011
17 janv. 2011 à 22:08
17 janv. 2011 à 22:08
cela semble presque fonctionner sauf que en fait le mon de fichier est du type : 00606E905560(Phoenix)_0_20110117220232_34.jpg
ma faute sorry, j'ai teste en decallant de 18 position le commencement de la date dans le nom, mais il reste les secondes et le "_xy" ou "_z" (dans certain cas) a eradiquer...
il semble que parfois le current.jpg soit supprimé....
encore merci pour cette aide !!
ma faute sorry, j'ai teste en decallant de 18 position le commencement de la date dans le nom, mais il reste les secondes et le "_xy" ou "_z" (dans certain cas) a eradiquer...
il semble que parfois le current.jpg soit supprimé....
encore merci pour cette aide !!
rssi69
Messages postés
10
Date d'inscription
lundi 17 janvier 2011
Statut
Membre
Dernière intervention
18 janvier 2011
17 janv. 2011 à 22:13
17 janv. 2011 à 22:13
les images sont toujours dans le rep malgré l'echo qui dit les avoir supprimé... probleme de chmod ? idem pour le rename qui en fait n'est pas fait...
Fichier 00606E905560(Phoenix)_0_20110117220920_47.jpg supprimé. Fichier 00606E905560(Phoenix)_0_20110117221101_49.jpg supprimé. Fichier 00606E905560(Phoenix)_0_20110117221202_51.jpg renommé en current.jpg Fichier 00606E905560(Phoenix)_0_20110117221202_51.jpg supprimé.
Hello,
Voilà un sujet qui répondre 'presque' à mon problème.
J'ai une Webcam Trendnet, or celle-ci ajoutent une difficultés, elle mettent un dossier intermédiaire à la date du jour de type webcam/aaaammjj/hhmmss.jpg
est-il possible d'adapter ce script pour chercher à la fois le dossier le plus récent et l'image la plus récente?
Voilà un sujet qui répondre 'presque' à mon problème.
J'ai une Webcam Trendnet, or celle-ci ajoutent une difficultés, elle mettent un dossier intermédiaire à la date du jour de type webcam/aaaammjj/hhmmss.jpg
est-il possible d'adapter ce script pour chercher à la fois le dossier le plus récent et l'image la plus récente?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
18 févr. 2012 à 09:59
18 févr. 2012 à 09:59
Il y a une fonction qui donne la date et l'heure réelle du fichier
filectime('mon_fichier.jpg');
17 janv. 2011 à 12:01
En terme de resultat, je cherhce à obtenir l'affichage de l'image la plus recente par une URL permanente http://monsite/current.jpg qui afficherai l'image la plus recente et qui purgerai les anciennes.
Merci par avance
P
17 janv. 2011 à 12:55
Ton fichier .php se présente comme un fichier HTML simple qui se contente d'afficher current.jpg
Et avant le DOCTYPE, tu as le code php qui parcourres ton dossier à la recherche de la dernière image qui la renomme current.jpg et qui supprime toute les autres images.
Je peux essayer de te faire le code php. Mais, comment est ton architecture? (tes images sont-elles à la racine ou dans un dossier spécial?)
Tes images s'appellent-elles toutes obligatoirement webcamAAAAMMJJHHmm.jpg?
Car si j'ai bien compris webcam201101111254.jpg correspond bien à l'image webcam enregistrée le 11/01/20011 à 12h54.
17 janv. 2011 à 13:36
le nom du fichier correspond en effet à la date de la prose de vue ; c'est aussi la date du fichier.
Merci encore
17 janv. 2011 à 13:59
17 janv. 2011 à 14:10
ca sera utile à tout les possesseurs de webcam/caméra FOSCAM, où le FTP est OK mais le nom des fichiers envoyés n'est pas parametrable.....