Discussion:
Synchronisation d'un fichier?
(trop ancien pour répondre)
jp
2019-12-21 19:57:17 UTC
Permalink
Bonjour à tous.

J'ai un script qui ouvre un fichier en écriture et qui le ferme presque
tout de suite après. Ma question est de savoir ce qu'il se passerait si
deux personnes ouvraient ce fichier en même temps, ou du moins si une
seconde personne l'ouvrait et essayait d'écrire dedans avant que la
première ne l'ait fermé? Est-ce que je dois synchroniser l'accès au
fichier, ou bien est-ce automatique en PHP? Et si je dois synchroniser,
est-ce que quelqu'un aurait l'amabilité de me donner un lien qui traite
de ça?

Merci d'avance.
Denis Beauregard
2019-12-21 21:20:25 UTC
Permalink
Post by jp
Bonjour à tous.
J'ai un script qui ouvre un fichier en écriture et qui le ferme presque
tout de suite après. Ma question est de savoir ce qu'il se passerait si
deux personnes ouvraient ce fichier en même temps, ou du moins si une
seconde personne l'ouvrait et essayait d'écrire dedans avant que la
première ne l'ait fermé? Est-ce que je dois synchroniser l'accès au
fichier, ou bien est-ce automatique en PHP? Et si je dois synchroniser,
est-ce que quelqu'un aurait l'amabilité de me donner un lien qui traite
de ça?
Pourquoi ne pas l'essayer en local ?

Ouvrir 2 navigateurs et placer un compteur disons de 30 secondes,
puis lancer le script depuis les deux navigateurs. Avec bien sûr
une vérification des erreurs tout de suite après le fput.


Denis
jp
2019-12-22 18:23:07 UTC
Permalink
Post by Denis Beauregard
Pourquoi ne pas l'essayer en local ?
Ouvrir 2 navigateurs et placer un compteur disons de 30 secondes,
puis lancer le script depuis les deux navigateurs. Avec bien sûr une
vérification des erreurs tout de suite après le fput.
Merci pour la réponse. En fait je crois bien que j'ai trouvé ce que je
cherchais... C'est ici: http://oseox.fr/php/securite-fichier.html

Merci et a+.
Jean François Ortolo
2019-12-24 15:47:35 UTC
Permalink
Post by jp
Post by Denis Beauregard
Pourquoi ne pas l'essayer en local ?
Ouvrir 2 navigateurs et placer un compteur disons de 30 secondes,
puis lancer le script depuis les deux navigateurs. Avec bien sûr une
vérification des erreurs tout de suite après le fput.
Merci pour la réponse. En fait je crois bien que j'ai trouvé ce que je
cherchais... C'est ici: http://oseox.fr/php/securite-fichier.html
Merci et a+.
Pardon

C'est un cas classique d'accès en écriture à une ressource partagée.

D'abord : flock().

Ensuite : L'agorithme Lecteur/Rédacteur.

J'ai fait moi-même une classe de cache MySQL utilisant cet
algorithme, avec des mémoires partagées au lieu de fichiers.

Amicalement.

Jean François Ortolo

Continuer la lecture sur narkive:
Loading...