tester existance d'un fichier - PHP - Programmation
Marsh Posté le 26-06-2013 à 15:40:23
Plutôt que de faire des for imbriqués comme ça ce qui est horrible, je te suggère plutôt de définir une date min et une date max, puis tu génères toutes les dates entre ces 2 bornes et tu boucles dessus jusqu'à trouver ton fichier.
Fonctions utiles :
date ("Y-m-01", strtotime($DateMin))
date ("Y-m-t", strtotime($DateMax))
Range()
Après, y'a peut-être moyen d'éviter toutes ces recherches si t'as des infos en plus. Ou par ex, si y'a peu de fichiers dans le répertoire à scanner, lister les fichiers ayant le pattern que tu recherches et analyser la fin de leur nom pour trouver le fichier qui t'intéresse...
Marsh Posté le 26-06-2013 à 16:41:25
Personnellement, j'utiliserai un glob + tri. En effet, je préfère avoir le minimum d'appel système (une bonne pratique).
Code :
|
Marsh Posté le 28-06-2013 à 13:48:32
merci pour vos réponses !
Je ne comprends rien aux lignes de code proposées, je vais essayer de piger et je vous dis si ça répond à la question. a+
Marsh Posté le 28-06-2013 à 13:56:26
Une autre solution plus simple serait peut-être de récupérer dans la page http://www.bouches-du-rhone.gouv.fr/files/massif l'URL liée au texte "Afficher la carte dans une nouvelle fenêtre".
Ça ne doit pas être compliqué non ?
En HTML si c'est possible, ou en php. Est-ce qu'une fonction permet cela ?
Merci !!
Marsh Posté le 28-06-2013 à 18:05:21
ouupsss oublie mon commentaire. J'ai été trop vite, je n'ai pas vu qu'il s'agissait d'appel distant (http). Le glob ne fonctionne que localement (file system local).
Mais je n'ai pas compris : tu veux récupérer la "dernière" version c'est ça ?
Si c'est le cas, il suffit de prendre le "dernier" 17h30 (en faisant gaffe aux timezone, si nécessaire)
Donc tu prends l'heure/minute du "now" (date("Gi" )). Tu compares à 17h30 (ou 18h pour avoir un peu de marge).
Si c'est inférieur, tu cherches la date de la veille de type date("Ymd",time()-60*60*24)...
Sinon tu prends le jours courant.
Pour ce qui est d'aller faire une requête HTML, c'est toujours possible, mais parser le HTML resultant, c'est jamais évident/fiable...
Marsh Posté le 30-06-2013 à 23:38:13
Merci dreameddeath, je crois qu'on s'approche de la solution.
si j'ai bien compris le code pour afficher la bonne image serait :
Code :
|
à partir de 18h il donne le fichier du lendemain
NB: les fichiers des jours précédents ne sont pas effacés du serveur
Marsh Posté le 26-06-2013 à 10:43:05
Bonjour,
Vous pouvez peut-être m'aider, je n'y connais pas grand chose en php, j'ai justes quelques lointaines connaissances en c++.
Voici mon problème, je souhaite afficher sur une page une image d'un autre site, mais dont le nom de fichier change tous les jours à 17h30.
L'image est : http://www.bouches-du-rhone.gouv.f [...] 130626.jpg
Vu que la syntaxe du fichier est incorpore la date, l'idée serait de tester en remontant les dates (de septembre à juin) si le fichier existe. Et l'afficher dès qu'il le trouve.
J'ai écrit un peu de code, c'est surement plein d'erreur mais ça donne une base.
Merci si vous arrivez à m'éclairer