Aller au contenu

Ouvrir un fichier de façon persistante


Sujets conseillés

Posté

Bonjour,

Savez-vous s'il y a un moyen de garder un fichier ouvert même après la fermeture du script qui l'a ouvert ?

Merci,

Posté

Plus précisément, le but du jeu consiste à passer des données dans un tube nommé (fichier) qui est ouvert en lecture par un script unix.

C'est un script PHP qui est chargé d'ouvrir ce fameux tube en écriture pour y injecter les données. On s'est aperçu que le fait de le "fermer" désactive non seulement les droits en écriture mais aussi les droits en lecture ! La solution consisterait donc à rendre l'ouverture du fichier persistante...

Posté

Quelle idée ?

plusieurs pistes : le fermer et changer les droits d'exécution ou le fermer et le mettre en lecture seule.

Ca devrait aller ?

Posté
On s'est aperçu que le fait de le "fermer" désactive non seulement les droits en écriture mais aussi les droits en lecture !

Je me suis mal exprimé, il ne s'agit pas d'un problème de droits.

En réalité, le fichier est ouvert en lecture par un processus lui-même lançé par un script unix.

Le même fichier peut être simultanément ouvert en écriture par un script php pour y déposer des données. Or la fin du script entraîne la fermeture en écriture du fichier et (c'est là que le bat blesse) ferme le fichier ouvert en lecture par l'autre processus.

N'hésitez pas à me demander des précisions, ca ne s'éclaircit pour moi aussi que petit à petit :D

Posté
La fin du script est considérée comme une fermeture implicite du fichier ?

Apparement oui... et le pire c'est le deuxième processus "détecte" une fermeture du fichier.

Posté

Si j'ai bien compris, tu veux avoir une sortie d'ouverture persistante comme avec les database.

Ben, je n'ai rien vu de la sorte dans la doc de PHP pour les fichiers.

La solution que j'emploierai serai de creer un deamon en C(++) qui ne servirait que de cache pour ce genre de connection, et PHP communiquerait avec ce deamon par des sockets.

C'est assez simple a faire.

A+

Lolo

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...