Lecture et écriture dans un fichier
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'aimerais vous poser une question d'ordre qualitatif.
Sur mon site, j'utilise des fichiers stockés sur le serveur pour enregistrer du texte.
Seulement, j'ai aussi besoin d'aller lire dans ce fichier pour récupérer ces textes et les afficher.
Peut-il y avoir un problème si un texte est enregistré alors qu'une page client demande à lire ce fichier ?
Y a-t-il une gestion automatique des priorités pour permettre de lire puis d'écrire dans ce fichier et éviter tout conflit ?
Merci d'avance pour vos réponses !
j'aimerais vous poser une question d'ordre qualitatif.
Sur mon site, j'utilise des fichiers stockés sur le serveur pour enregistrer du texte.
Seulement, j'ai aussi besoin d'aller lire dans ce fichier pour récupérer ces textes et les afficher.
Peut-il y avoir un problème si un texte est enregistré alors qu'une page client demande à lire ce fichier ?
Y a-t-il une gestion automatique des priorités pour permettre de lire puis d'écrire dans ce fichier et éviter tout conflit ?
Merci d'avance pour vos réponses !
A voir également:
- Lecture et écriture dans un fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
Salut,
Il pourrait effectivement il avoir un problème de concurrence d'accès dans le cas où les deux actions serait demandées en même temps (lecture et écriture).
Néanmoins pour relativiser, si il s'agit de "petites" lectures et écritures, celles-ci sont réalisées en quelques millisecondes et à moins d'avoir beaucoup de visiteurs en même temps, il peut être rare d'avoir deux requêtes de deux utilisateurs en quelques millisecondes.
Une solution possible pour éviter cela est le système de verrou : https://www.php.net/flock
Une autre solution serait d'utiliser une base de donnée.
Bonne journée
Il pourrait effectivement il avoir un problème de concurrence d'accès dans le cas où les deux actions serait demandées en même temps (lecture et écriture).
Néanmoins pour relativiser, si il s'agit de "petites" lectures et écritures, celles-ci sont réalisées en quelques millisecondes et à moins d'avoir beaucoup de visiteurs en même temps, il peut être rare d'avoir deux requêtes de deux utilisateurs en quelques millisecondes.
Une solution possible pour éviter cela est le système de verrou : https://www.php.net/flock
Une autre solution serait d'utiliser une base de donnée.
Bonne journée
Je vois, merci pour ta réponse !
Et en ce qui concerne les images. Je stocke des images d'utilisateurs dans un fichier.
Ils peuvent les modifier et les autres utilisateurs peuvent les voir.
Est ce que cela pose problème si un utilisateur demande à voir une photo pendant que celle ci est modifiée ?
Parce qu'il n'y a rien à lire, il s'agit juste de faire référence à une image.
Et en ce qui concerne les images. Je stocke des images d'utilisateurs dans un fichier.
Ils peuvent les modifier et les autres utilisateurs peuvent les voir.
Est ce que cela pose problème si un utilisateur demande à voir une photo pendant que celle ci est modifiée ?
Parce qu'il n'y a rien à lire, il s'agit juste de faire référence à une image.
Si il s'agit de modification simple (ajout, déplacement, suppression...) ceci ne devrait pas poser problème.
Pour des modifications plus lourdes, une solution possible est d'utiliser une image temporaire pour la modification. Une fois la modification terminée, on remplace l'original par l'image temporaire. Le remplacement de fichier durant quelques millisecondes, il y a peu de chance d'avoir un problème de concurrence d'accès.
Pour des modifications plus lourdes, une solution possible est d'utiliser une image temporaire pour la modification. Une fois la modification terminée, on remplace l'original par l'image temporaire. Le remplacement de fichier durant quelques millisecondes, il y a peu de chance d'avoir un problème de concurrence d'accès.