Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1576 connectés 

 


Dernière réponse
Sujet : [PHP] Optimiser site : fichiers textes.. mais comment les verrouiller
Dost67 Bon allez je simplifie encore la requête pour avoir une/des réponses (ne me dites pas que ce n'est pas optimisé ;)) :
 
Si A demande une page PHP alors SERVEUR lit le fichier PHP, l'interprète et envoie la page HTML. Si au moment où PHP est en train d'interpréter le fichier demandé par A, B demande le même fichier, que va faire le serveur :
- Exécuter des petites protions de code en swappant très rapidement entre A et B, ou
- Finir de servir A puis commencer à servir B ?

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Dost67 Bon allez je simplifie encore la requête pour avoir une/des réponses (ne me dites pas que ce n'est pas optimisé ;)) :
 
Si A demande une page PHP alors SERVEUR lit le fichier PHP, l'interprète et envoie la page HTML. Si au moment où PHP est en train d'interpréter le fichier demandé par A, B demande le même fichier, que va faire le serveur :
- Exécuter des petites protions de code en swappant très rapidement entre A et B, ou
- Finir de servir A puis commencer à servir B ?
ethernal ok, moi je te parlais en général  
par ex, si tu modifies avec notepad ou mc (sous linux), je ne connais pas de moyen de locker un fichier pdt que tu l'enregistres.
 
j'ai appris que php le gérais, grâce à toi  :jap:
Dost67 Donc en fait je connais à moitié la réponse (oui on peut verouiller les fichiers) :
 
1. Si l'interpréteur exécute les demandes une alors par une pas de pb. En effet j'enregsitre, il attend, ça se termine et il sert le suivant.
 
2. Si ce que j'ai dit avant n'est pas le cas alors je vais utiliser flock() pour bloquer mon fichier pendant que j'enregsitre.
 
Voilà en fait la question est plus ciblé fonctionnement interne de PHP.
ethernal argh, ça c'est une colle :(
 
je ne pense pas qu'il y ait moyen de bloquer un fichier en modification.
sauf si tu utilises NFS (Network File System) ou une BD (option LOCK).
Dost67 Mais même si c'est infime le temps qu'il faut pour enregistrer un fichier, si qq'un le demande exactement au même que se passe t-il ?
ethernal tant que ton fichier n'a pas été enregistré, pour le système, il n'a pas été modifié.  
Donc l'utilisateur, que tu sois en train d'éditer ou pas, verras le fichier tel que la denière fois que tu l'as enregistré.
Dost67 ..
Obligé que qq'un connaisse la réponse !!
Dost67 .
Dost67 J'ai une base MySQL qui stocke à peu près tout le contenu du site. La structure du site est :
Accueil (affiche dernières news)
  News
    Détail News 1
    Détail News 2
  Dossiers
    Dossier 1
    Dossier 2
etc.
 
Dasn ce schéma je pensais stocker quelques données dans la BDD mais aussi dans un fichier texte comme ça sur la page d'accueil un petit include c'est plus rapide.
 
Mais donc le pb est : soit un instant t où je suis en train d'écrire dans le fichier texte. Si un visiteur demande à ce même instant le contenu du fichier PHP va-t-il attendre avant d'exécuter le script avec la requête ou traitera-t-il simultanément ma requête d'enregsitrement et celle du client pour la lecture. Si c'est le cas comment verouiller le fichier pendant l'écriture pour que le client n'ait pas un "demi-fichier" :
flock() ???? Mais j'ai pas bien compris comment ça fonctionne
set_file_buffer 0 ?

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR