Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

detecter les dates de telechargement s de fichiers uploades et downloades

5 réponses
Avatar
c_guillon
Bonjour

je débute en php et j'ai un problème pour lequel je me disais que vous
auriez peut être des idées:

Ma problématique est simple: j'ai un fichier excel en ligne, qui
contient un fichier qui doit être modifié par différents utilisateurs.
Pour l'instant, l'on peut sans probleme télécharger en ligne le
fichier excel, le modifier en local en l'enregistrant sur son disque
dur, puis en utilisant une commande php recharger le fichier modifié
sur le réseau.

Ce que je voudrais maintenant, c'est faire en sorte d'éviter viter que
par malchance deux utilisateurs téléchargent le même fichier, entrent
chacun leur modif, et rechargent le fichier sur le réseau car sinon ce
sera celui qui recharge le fichier en dernier qui verra ses
modifications prises en compte, et pour l'autre, rien du tout..
Je vois deux alternatives:
1- que la deuxieme personne ne puisse pas uploader son fichier modifié
si la date d'upload du fichier sur le réseau est plus récente que la
date de téléchargement par cette deuxième personne.
2- lorsqu'une personne a téléchargé le fichier pour le modifier mais
ne l'a pas encore uploadé, une autre personne ne peut pas télécharger
ce même fichier

Concernant la première alternative, j'ai pensé réfléchir par rapport
aux dates de création du fichier: en effet, le fichier téléchargé
possède une date et heure de création qui correspond à l'heure de
téléchargement, et le fichier rechargé a une date et heure de création
correspondant à la date de l'upload, donc si lorsqu'un utilisateur
veut faire son uplpoad le fichier en ligne a une date et heure de
création qui est plus récente que la date de création du fichier à
uploader, il y aurait un message d'erreur "le fichier en ligne a ete
modifié depuis que vous l'avez téléchargé, sans doute parce qu'un
autre utilisateur l'a modifié entre temps"
est ce que c'est possible, et si oui quelle est la commande ? Et
surtout, comment faire pour que ces dates et heures de modif soient
bien toutes les mêmes, même si les horloges des différents ordinateurs
des différents utilisateurs sont différentes ?
Subsidiairement, est il possible d'afficher la date et l'heure de la
dernière modification du fichier sur le réseau sur la page web
permettant ce téléchargement ?

Concernant la deuxième alternative, est il possible de bloquer la
possibilité de téléchargement tant que le premier fichier téléchargé
n'a pas été uploadé de nouveau ? et si oui, comment fait on ?

l'autre possibilité serait d'avoir une base mysql qui puisse être
modifée en ligne, mais je n'ai pas la possibilité d'avoir une telle
base avec mon hébergement, et de toutes façons la programmation
dépasserait sans doute mes compétences

merci d'avance pour vos avis experts
Christophe

5 réponses

Avatar
Paul Delannoy
Christophe Guillon a écrit:
Bonjour

je débute en php et j'ai un problème pour lequel je me disais que vous
auriez peut être des idées:

Ma problématique est simple: j'ai un fichier excel en ligne, qui
contient un fichier qui doit être modifié par différents utilisateurs.
Pour l'instant, l'on peut sans probleme télécharger en ligne le
fichier excel, le modifier en local en l'enregistrant sur son disque
dur, puis en utilisant une commande php recharger le fichier modifié
sur le réseau.

Ce que je voudrais maintenant, c'est faire en sorte d'éviter viter que
par malchance deux utilisateurs téléchargent le même fichier, entrent
chacun leur modif, et rechargent le fichier sur le réseau car sinon ce
sera celui qui recharge le fichier en dernier qui verra ses
modifications prises en compte, et pour l'autre, rien du tout..
Je vois deux alternatives:

[...]

il y ena une 3 eme : vérouiller le fichier (lock).

Avatar
Batman

[...]
il y ena une 3 eme : vérouiller le fichier (lock).


erff, comme quoi je sui shyper compliqué dans mes explications, j'ai mis
15/20 lignes pour dire ça ! mdrrrr !

--
Les fautes d'orthographes sont ma signature :-)
pour me répondre en BAL (mode antispam)
http://batman.dyndns.org/V2/Mail/?src=news.free

Avatar
Batman

Bonjour

je débute en php et j'ai un problème pour lequel je me disais que vous
auriez peut être des idées:

Ma problématique est simple: j'ai un fichier excel en ligne, qui
contient un fichier qui doit être modifié par différents utilisateurs.
Pour l'instant, l'on peut sans probleme télécharger en ligne le
fichier excel, le modifier en local en l'enregistrant sur son disque
dur, puis en utilisant une commande php recharger le fichier modifié
sur le réseau.
[...]


Bon avant je dois t'avouer que j'ai lu en diagonale (je serais donc peut
être HS, toute mes excuses si je le suis).

Ma vision du concept :
- quelqu'un (User1) veux le fichier excel (DocV1)
- il clic sur une url en http://tonsite/repertoire/download.php
- download.php :
- creation d'un fichier de 'vérouillage', qui sera uniquement
un fichier texte ayant pour nom 'ModifDuFichierEncours'
- utilisation des fonction php 'header' pour envoyer le fichier
'DocV1' au navigateur (pour empecher que quelqu'un ne fasse
http://tonsite/repertoire/DocV1.xls, je te conseille de mettre ton fichier
excel en dehors de l'arborescence navigable pour un utilisateur lambda
(j'arrive pas à trouver une phrase simple pour expliquer ce point...)

- a partir de maintenant si un autre utilisateur (User2) veut modifier le
fichier excel via http://tonsite/repertoire/download.php, le script php
verra le fichier de verrouillage 'ModifDuFichierEncours' et affichera donc
au navigateur 'désolé modif en cours sur ce fichier'.

revenons a User1, il va sur le formulaire d'upload (upload.php ?), et
upload.php gérera la réception du fichier Excel, et effacera le fichier de
verrouillage.

voila j'espère ne avoir été trop confus ?



merci d'avance pour vos avis experts


euuuuuh j'suis pas expert :-D

Christophe


Greg



Note:y'a quelques failles quand même dans mon raisonnement, et y'a encore
d'autres solution, simple dans la mise en oeuvre, mais pas facile (pour
moi) à expliquer.


--
Les fautes d'orthographes sont ma signature :-)
pour me répondre en BAL (mode antispam)
http://batman.dyndns.org/V2/Mail/?src=news.free

Avatar
c_guillon
Bonjour

Batman wrote in message news:<40c5898b$0$12752$...
Ma vision du concept :


qui est bonne je te rassure :-)

- quelqu'un (User1) veux le fichier excel (DocV1)


sachant que cet user1 n'a pas à s'identifier sur le serveur, je
voudrais que ce soit en "libre accès"

- il clic sur une url en http://tonsite/repertoire/download.php


en l'occurence c'est une page html, qui contient à la fois les liens
pour télécharger le fichier de la forme http://monsite/rep/docV1.xls),
et le formulaire pour l'upload qui mene à la page upload.php

- download.php :
- creation d'un fichier de 'vérouillage', qui sera uniquement
un fichier texte ayant pour nom 'ModifDuFichierEncours'


comment fait on pour créer ce fichier de verouillage ? et dans le cas
de plusieurs fichiers téléchargeables, est ce possible de faire un
fichier de verouillage par fichier telechargé ? (je rappelle que je
suis une bille en php). A ce sujet, quelqu'un a parlé dans ce fil de
la fonction lock, comment on l'utilise ? les différents manuels on
line que j'ai trouvé sont assez absconds sur le sujet

- utilisation des fonction php 'header' pour envoyer le fichier
'DocV1' au navigateur (pour empecher que quelqu'un ne fasse
http://tonsite/repertoire/DocV1.xls, je te conseille de mettre ton fichier
excel en dehors de l'arborescence navigable pour un utilisateur lambda
(j'arrive pas à trouver une phrase simple pour expliquer ce point...)


j'ai compris le principe, et non seulement c'est en dehors de
l'arborescence navigable mais en l'occurence sur un autre serveur...

- a partir de maintenant si un autre utilisateur (User2) veut modifier le
fichier excel via http://tonsite/repertoire/download.php, le script php
verra le fichier de verrouillage 'ModifDuFichierEncours' et affichera donc
au navigateur 'désolé modif en cours sur ce fichier'.


idem que plus haut, c'est faisable avec plusieurs fichiers de n'en
bloquer qu'un seul ?

revenons a User1, il va sur le formulaire d'upload (upload.php ?), et
upload.php gérera la réception du fichier Excel, et effacera le fichier de
verrouillage.
voila j'espère ne avoir été trop confus ?


c'est super clair, et ca me convient bien, par contre je suis
incapable avec mes faibles connaissances de m'en occuper. Est ce que
quelqu'un pourrait m'aider pour cela en me donnant quelques lignes de
codes "de bases" que je puisse ensuite appliquer à mon problème ?
Désolé d'abuser, mais les fonctions de verouillages décrites sur
php.net sont vraiment très "survolées" et complètement
incompréhensibles pour le débutant que je suis...

Bonne journée/soirée/nuit
Christophe

Avatar
Batman

comment fait on pour créer ce fichier de verouillage ? et dans le cas
de plusieurs fichiers téléchargeables, est ce possible de faire un
fichier de verouillage par fichier telechargé ? (je rappelle que je
suis une bille en php). A ce sujet, quelqu'un a parlé dans ce fil de
la fonction lock, comment on l'utilise ? les différents manuels on
line que j'ai trouvé sont assez absconds sur le sujet


Très simplement, en php tu créé un fichier texte quelconque (doit y avoir ~
3000 tutoriels pour ecrire 'bonjour' dans un fichier texte :-DDDD )

ensuite il te suffit de tester la présence de ce fichier quelqconque pour
autoriser ounon, le download du fichier.


Le plus compliqué que tu aura ce sera de générer les header (voir sur
http://www.php.net/manual/fr/ la fonction header) adéquat pour le download
du document excel

--
Les fautes d'orthographes sont ma signature :-)
pour me répondre en BAL (mode antispam)
http://batman.dyndns.org/V2/Mail/?src=news.free