recherche par date de modif - PHP - Programmation
Marsh Posté le 25-04-2005 à 11:32:50
Tu as une fonction qui permet de savoir la date de modification d'un fichier et derniere consultation de fichier. regarde dans les fonctions file system.
Marsh Posté le 25-04-2005 à 14:22:48
voila le script que j'ai écris :
Code :
|
Le problème c'est que ca ne fonctionne toujours pas et je ne comprends pas pkoi!!!
Je pense que ca vient peut etre de la date que doit rentré l'utilisateur.
Sous quelle forme faut-il entrer la date voulue pour que celle ci soit "comparé"??
Merci...
Marsh Posté le 25-04-2005 à 14:29:43
baka !!
faut lui passer le chemin complet a filemtime
Marsh Posté le 25-04-2005 à 14:40:38
Je pense en fait qu'il faut que je convertisse la date au format numérique (avec la fonction mktime)...
Marsh Posté le 25-04-2005 à 14:41:06
avec le timestamp
Marsh Posté le 25-04-2005 à 15:01:38
ca fonctionne tjs pas?
qqn sait comment je dois faire pour convertir la date??
Merci d'avance
Marsh Posté le 25-04-2005 à 15:19:19
Code :
|
C'est pas un peu mieux comme ça
if($fichier!= '.' && $fichier != '..' && filemtime($fichier)>$date_derniere_modif)
{
echo $fichier;
}
Marsh Posté le 25-04-2005 à 15:27:14
oui merci, je l'avais deja corrigé
mon problème est que je rentre une date et je n'ai rien en retour
je voudrais savoir sous quelle format je dois rentrer la date et comment la convertir pour que mon script fonctionne??
merci pour votre aide...
Marsh Posté le 25-04-2005 à 16:09:38
Code :
|
C'est mon script php
Qqn voit d'ou vient mon erreur???
Aidez moi... Merci
Marsh Posté le 25-04-2005 à 20:34:03
Je crois que tu connais pas trop la fonction date man
exemple :
Code :
|
par :
Code :
|
Marsh Posté le 26-04-2005 à 09:36:25
Bon alors j'ai passé ma soirée à m'arracher les cheveux et j'ai besoin de votre aide (c'est pour un moteur de recherche par date de derniere modification!!)
Voici l'HTML :
Code :
|
Et voici le PHP :
Code :
|
Or lorsque je clique sur Search que j'ai rempli le champ ou non j'obtiens toujours le meme affichage
Voyez-vous mon erreur?
De plus sous quelle forme faut-il rentrer la date dans le champ du formulaire?
Merci d'avance...
Marsh Posté le 26-04-2005 à 12:04:49
tu rentres la date comment dans ton formulaire ???
car filemtime renvoi un timestamp et donc, ne sera jamais égal à ce que tu rentre dans ton formulaire !
utilise date pour formater ce que te renvoi filemtime
http://fr.php.net/manual/fr/function.date.php
ou alors utilise mktime pour convertir ton formulaire en timestamp
http://fr.php.net/manual/fr/function.mktime.php
Marsh Posté le 26-04-2005 à 12:07:27
Pour toi mon formulaire et mon script php sont bon?
C'est juste un probleme du format de la date qu'on rentre??
Marsh Posté le 26-04-2005 à 12:17:54
beh, test avec :
echo "$date_derniere_modif ".filemtime('/wwwSiteIntranet/EDC/'.$fichier);
tu verras pas toi meme que les formats sont complètements différents. Lis le man de filemtime ! (je l'ai poster au dessus)
Marsh Posté le 26-04-2005 à 13:05:54
C'est quoi la valeur de ton "register_global" ?
Car si c'est a off, tu dois utiliser $_POST['date_derniere_modif'] au lieu de $date_derniere_modif.
Je te recommande vivement de metre register_global a off si c'est n'est pas sa valeur.
Marsh Posté le 26-04-2005 à 13:32:42
Dsl pour la question
mais ou change t on la valeur de register_global??
Marsh Posté le 26-04-2005 à 14:54:55
Que pensez vous de cette fonction pour convertir une date du type "2004-05-09" en timestamp unix.
Code :
|
Marsh Posté le 26-04-2005 à 15:48:32
utilise plutot strtotime
strtotime("05/14/82" ); |
mais le probleme c'est que la date doit etre au format américain : mm/dd/yy(yy)
Marsh Posté le 26-04-2005 à 15:48:48
Regarde ca : http://forum.hardware.fr/forum2.ph [...] 3#t1052122
Tu te compliques la vie :
Code :
|
Marsh Posté le 26-04-2005 à 16:31:48
Excusez moi d'insister
Mais mon code PHP doit correspondre a ca non??
Code :
|
Dans le formulaire j'écris par ex 2005-04-22
Et j'obtiens une page blanche!!
Je ne vois pas ou j'ai commis une erreur!
Et vous??
Merci
Marsh Posté le 26-04-2005 à 16:35:46
Ta essayé un echo de la date transformée?
Ta vérifié que y'avais des fichiers avec comme date de modification la date entrée?
Marsh Posté le 26-04-2005 à 16:39:44
Comment fais-tu appel a "taDateToTimestamp" ?
D'ou viens ta variable "$timestamp" ?
Tu devrais inverser le "if (file_exists($fichier))" et le "filemtime('/wwwSiteIntranet/EDC/'.$fichier)>$timestamp)".
Faut d'abord verifier que le fichier exsite, avant de vouloir savoir quand il a ete modifie pour la derniere fois.
Il y avait des pieges dans le code que je t'ai donne (vi c'etait des pieges et non des erreurs ).
J'ai edite mon msg.
Marsh Posté le 26-04-2005 à 16:44:18
J'ai fait ca mais ca marche tjs pas!!
Code :
|
Marsh Posté le 26-04-2005 à 16:49:09
Juste une question, ca sert à quoi la ligne 17 sans paramètre?
C'est pas une question con, c'est juste pour savoir.
Marsh Posté le 26-04-2005 à 17:35:08
Je pense que déjà faut qu'il s'occupe de ca, parce que du coup $date_derniere_modif vaut rien du tout
Marsh Posté le 26-04-2005 à 17:41:42
Code :
|
Je tape la date sous la forme 2005-04-24 et il me ressort tous les fichiers!!
C'est bien sous cette forme qu'il faut l'entrer non?
Marsh Posté le 26-04-2005 à 17:44:37
non, c'est sous la forme 04/26/2005, enfin je croie mais je suis pas sur de moi.
Marsh Posté le 26-04-2005 à 17:49:20
Il me retourne tous les fichiers a chaque fois!!
Personne ne sait??
Marsh Posté le 26-04-2005 à 17:51:05
faudrait peut etre voir comment fonctionne une fonction !
tu récuperes une valeur que tu n'utilises meme pas...
et pour info, la format est indiqué dans le code lui meme.
Marsh Posté le 26-04-2005 à 17:51:24
mais tu fais le echo filetime($fichier), il t'ecrit quoi ?
Marsh Posté le 26-04-2005 à 17:52:29
oui c'est vrai, tu as raison KangOl, faudrait peut être qu'il soit un peu plus attentif à ce qu'il fait.
Marsh Posté le 26-04-2005 à 18:01:43
Ba c'est ce que je disais il faut taper la date sous la forme 2005-04-24 !!!
Marsh Posté le 26-04-2005 à 18:03:53
Ta lu ce qui est ecris?
Tu stocke le resultat de ta fonction dans une variable que tu utilises pas, y'a pas comme un problème?
Marsh Posté le 25-04-2005 à 11:14:59
Alors voila,
Je voudrais réaliser un moteur de recherche par date de dernière modification
Aprés de longues recherches sur le net, je n'ai pas trouvé d'aide sur ce type de script.
J'ai écris une page du style :
Recherche à partir du : "l'utilisateur choisit la date"
Je voudrais savoir comment faire pour récupérer la date choisit par l'utilisateur et la "comparer" avec la date de dernière modofication de tous les fichiers présent dans un répertoire voulue et retourner uniquement les fichiers correspondant.
Merci pour vore aide