[Apache/PHP] gestion d'écriture [résolu]

:stuck_out_tongue:

je veux construire un site tout con avec juste une page inclue pour le contenu. genre :

index.php?page=contact

et

include(‘contact.php’);

mais cette page contact.php, au lieu de la modifier en local et de la tranférer par FTP, j’aimerais pouvoir la modifier directement par le web, par le biais d’un champ textarea et ensuite modifier le contenu du fichier pas le contenu du textarea.

assez simple en somme.

mais je me pose une question

si quelqu’un veut accèder à index.php?page=contact et que au même moment PHP réenregistre contact.php, comment ça va se passer ?

est-ce que PHP va attendre qu’il n’y ait plus de requete sur contact.php avant de le réenregistrer, ou Apache va bloquer l’écriture tant que ce fichier est en téléchargement ?

ou alors c’est le bronx et la personne qui veux accèder à la page ne verra qu’un fichier à moitié plein, et dans ce cas cette solution n’est pas viable.

comment se gère les permissions dans ce sens ?

Ca ressemble à ce qu’on appelle une transaction :o
Mais sinon la réécriture se fait en cache dans la RAM avant d’être faite dans le disque dur (de ce que j’ai compris de mes cours de système), donc si tu veux quand tu vas écrire X octets, ça va être en cache jusqu’à ce qu’il soit nécessaire de le mettre sur le disque dur.

Pour la lecture, ça doit être le même synopsis.

Donc en gros, l’utilisateur aura très certainement la page d’avant contact. Ce que tu peux faire par contre, c’est poser un verrou http://fr.php.net/manual/fr/function.flock.php

oké merci :slight_smile: