|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 37 ![]() |
Bonjour,
Je cherche une fonction / une méthode qui me permettrait d'obtenir la date de création d'un fichier. Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() |
Salut,
La fonction filemtime renvoi la date de dernière modification du fichier (ou de création si tu ne le modifie pas), par contre je ne croit pas qu'il existe une fonction PHP pour connaitre la date de création sans prendre en compte la date de modification. |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 37 ![]() |
Merci pour ta réponse.
Je connais déjà filemtime, mais ce n'est pas ce qu'il me faut. J'ai des fichiers dans un tableau, ordonnés par date de création, mais ces fichiers peuvent être modifiés une ou plusieurs fois. L'ordre de mon tableau doit quand même être respecté même si le fichier est modifié... |
|
|
00
|
|
|
#4 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 678 ![]() |
La fonction stat (ou fstat) renvoie toutes les infos disponibles pour un fichier. A priori, la date de création n'a pas l'air d'en faire partie.
Comment sont créés tes fichiers ? Si ce sont des fichiers uploadés ou générés par script, tu peux peut-être stocker la date de création dans une table en base de données ou quelque chose comme ça...
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 37 ![]() |
Salut Celira.
J'avais déjà regardé du côté de stat() et avais abouti à la même conclusion que toi. Mes fichiers sont des photos prises par webcam que des autres personnes placent dans un dossier sur le réseau. J'ai essayé de faire afficher la "date du cliché" dans la colonne de l'explorateur Windows prévu à cet effet (vue "Détails"), mais elle reste vide... |
|
|
00
|
|
|
#6 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 678 ![]() |
A part ajouter la date de prise de vue dans le nom du fichier (genre photo_xxxxx_AAAAMMJJ-HHMM.jpg) ou mémoriser la date dans un fichier ou une bdd, je ne vois pas trop comment faire...
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
00
|
|
|
#7 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 249 ![]() |
Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 37 ![]() |
@Celira
Impossible d'ajouter les dates aux noms de fichiers car ceux-ci sont standardisés... J'ai bien essayé d'exploiter les données exif (à savoir dans ce cas, le champ FileDateTime), mais celui-ci n'est pas correct car il prend la valeur de la dernière modification lorsque le fichier est modifié... @stealth35 Si, je pense qu'il doit y avoir une manière d'arriver à mes fins et que cette information existe bien quelque part, car le mode Détails de l'explorateur Windows arrive bel et bien à avoir cette info (les valeurs de la colonne "Date de création" sont correctes). |
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : septembre 2010 Messages : 7 249 ![]() |
regarde si y'a des info EXIF dans les images
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 37 ![]() |
|
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : septembre 2010 Messages : 7 249 ![]() |
bizarre ton histoire, puisque le stat et le details c'est les mêmes valeurs
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#12 | ||
|
Invité régulier
![]() Inscription : mai 2009 Messages : 37 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : septembre 2010 Messages : 7 249 ![]() |
Dans le sens ou si tu touches pas au droits du fichier l'inode est la date de création, donc présente dans stats et filectime.
Si ça ne correspond pas c'est que le fichier à été modifié, mais Windows lui garde ça en mémoire dans le système de fichier. Cette info peu être récupéré via COM mais c'est vraiment de la bidouille, et ça ne marchera que en local
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#14 | |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 37 ![]() |
Citation:
Cependant, comme indiqué plus haut (http://www.developpez.net/forums/d11...r/#post6494891), mes fichiers sont appelés à être modifiés une ou plusieurs fois, mais il faut quand même qu'ils restent ordonnés par date de création. |
|
|
|
00
|
|
|
#15 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 249 ![]() |
Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#16 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 738 ![]() |
Salut
J'ai jamais essayé, mais apparemment la fonction touch() permettrait de modifier la date de création ou dernière modification. Donc ce qui fait qu'il suffirait de récupérer la date du fichier (s'il existe), ensuite le modifier/écraser, pour enfin remettre la date récupérée auparavant (avec touch). La doc : touch() Citation:
Ca sous entend qu'il doit avoir des cas où ça ne fonctionnerait pas. Fais un essai
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
|
|
#17 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 249 ![]() |
pour faire via COM :
Code :
__________________
http://blog.stealth35.com/ |
||
|
|
00
|
|
|
#18 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 37 ![]() |
@RunCodePhp
Merci pour ta réponse, mais je ne peux pas appliquer ta solution car les images sont modifiées par des personnes qui ne sont pas dans la programmation, je ne peux donc pas leur demander de faire tourner des scripts avant et après qu'ils modifient une image. @stealth35 Je suis en train d'essayer COM. J'ai une erreur avec ton code : Code :
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Unknown<br/><b>Description:</b> Unknown' in C:\Program Files\EasyPHP-5.3.9\www\test.php:13 Stack trace: #0 C:\Program Files\EasyPHP-5.3.9\www\test.php(13): com->GetFile('2603.jpg') #1 {main} thrown in C:\Program Files\EasyPHP-5.3.9\www\test.php on line 13 |
|
|
00
|
|
|
#19 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 249 ![]() |
Citation:
normale, le nom du fichier doit être en absolu, donc fait un realpath
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#20 |
|
Invité régulier
![]() Inscription : mai 2009 Messages : 37 ![]() |
Yesss!
C'est bon ! Merci beaucoup stealth pour cette aide, t'es trop fort! ![]() ![]()
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com