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

  FORUM HardWare.fr
  Programmation
  PHP

  gestion de fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

gestion de fichier

n°570867
saxgard
Posté le 19-11-2003 à 16:28:04  profilanswer
 

voila
 
Comment tester avant d'ecrire dans un fichierq ue celui-ci est ouvert ou non? afin d'evietr des conflit d'ecriture
 
peut-on ecrire dans un fichier qui est deja ouvert par une autre personne? si oui comment?
 
quelle sont les meilleurs methode pour utiliser les fichiers comme si c'était une base de données?  si vous avez des liens de site interssant , je suis prenneur.
 
 
En gros j'aimerais eviter des conflits d'ecriture dans un fichier etant donné que mon programme enregistre des informations dans des fichiers etq ue cretains utilisateurs peuvent ouvrir à ce moment là ces mêmes fichiers.
 
merci d'avance.

mood
Publicité
Posté le 19-11-2003 à 16:28:04  profilanswer
 

n°570893
Mara's dad
Yes I can !
Posté le 19-11-2003 à 16:52:38  profilanswer
 

Citation :

En gros j'aimerais eviter des conflits d'ecriture dans un fichier etant donné que mon programme enregistre des informations dans des fichiers etq ue cretains utilisateurs peuvent ouvrir à ce moment là ces mêmes fichiers.


 
C'est tellement vrai :lol:  
 
Normalement pour vérouiller un fichier il me semble qu'il suffit de l'ouvrir en écriture.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°570901
saxgard
Posté le 19-11-2003 à 17:00:36  profilanswer
 

Mara's dad a écrit :

Citation :

En gros j'aimerais eviter des conflits d'ecriture dans un fichier etant donné que mon programme enregistre des informations dans des fichiers etq ue cretains utilisateurs peuvent ouvrir à ce moment là ces mêmes fichiers.


 
C'est tellement vrai :lol:  
 
Normalement pour vérouiller un fichier il me semble qu'il suffit de l'ouvrir en écriture.


 
j'ouvre mon fichier en 'a+' ;o)
c'ets en ecriture non?  
 :(

n°570903
Mara's dad
Yes I can !
Posté le 19-11-2003 à 17:01:40  profilanswer
 

Oui, et qu'est ce qui se passe ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°570906
saxgard
Posté le 19-11-2003 à 17:05:14  profilanswer
 

Mara's dad a écrit :

Oui, et qu'est ce qui se passe ?


 
bah si le fichier est ouvert et que j'execute le programme et qui fait donc un fwrite
bin j'ai :  
 

Code :
  1. Warning: fopen("exemple.txt", "a+" ) - Permission denied in c:\test.php on line 13
  2. Impossible d'ouvrir le fichier ()


 

n°570910
Mara's dad
Yes I can !
Posté le 19-11-2003 à 17:12:53  profilanswer
 

Bon, bin c'est normal alors.
Tu fais çà
 

if( $handle = @fopen( ("exemple.txt", "a+" ) )
{
 // Mon fichier est ouvert
 ...
}
else
{
 // Impossible d'ouvrir le fichier
 ...
}


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°570912
Mara's dad
Yes I can !
Posté le 19-11-2003 à 17:14:07  profilanswer
 

PS :
le @ devant une fonction, c'est pour (en très gros) supprimer les warning temporairement.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°570913
saxgard
Posté le 19-11-2003 à 17:14:52  profilanswer
 

Mara's dad a écrit :

Bon, bin c'est normal alors.
Tu fais çà
 

if( $handle = @fopen( ("exemple.txt", "a+" ) )
{
 // Mon fichier est ouvert
 ...
}
else
{
 // Impossible d'ouvrir le fichier
 ...
}




donc il ya aucun moyen d'ecrire dans un fichier deja ouvert? ou de faire come le principe des sémaphores et d emettre en attente ou jene sais quoi? ;o)
 
comment font ceux qui utilisent les fichiers a la place d'une  base de données? ils doivenet rencontrer souvent le pb je pense  non?  :)

n°570914
saxgard
Posté le 19-11-2003 à 17:16:02  profilanswer
 

Mara's dad a écrit :

PS :
le @ devant une fonction, c'est pour (en très gros) supprimer les warning temporairement.  


 
ok merci pour le @ c'ets bon a savoir

n°570944
saxgard
Posté le 19-11-2003 à 17:36:51  profilanswer
 

up

mood
Publicité
Posté le 19-11-2003 à 17:36:51  profilanswer
 

n°571278
saxgard
Posté le 20-11-2003 à 09:35:52  profilanswer
 

up

n°571302
Mara's dad
Yes I can !
Posté le 20-11-2003 à 10:09:31  profilanswer
 

Pourquoi up ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°571308
saxgard
Posté le 20-11-2003 à 10:15:51  profilanswer
 

Saxgard a écrit :


donc il ya aucun moyen d'ecrire dans un fichier deja ouvert? ou de faire come le principe des sémaphores et d emettre en attente ou jene sais quoi? ;o)
 
comment font ceux qui utilisent les fichiers a la place d'une  base de données? ils doivenet rencontrer souvent le pb je pense  non?  :)  


 
pour ca   :)

n°571329
Mara's dad
Yes I can !
Posté le 20-11-2003 à 10:41:23  profilanswer
 

Ben en fait, t'as 2 manières de faire les choses :
 
- Soit tu as plusieurs process (ton cas) qui doivent écrire et chacun attend que le fichier soit dispo (boucle).
 
- Soit comme les serveurs de BDD tu as plusieurs process qui traitent les requêtes, mais un seul qui fait les écritures. Ce dernier sert de process serveur pour les autres.
 
Enfin, c'est comme çà que je le comprends.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°571364
noizing
milk it
Posté le 20-11-2003 à 11:05:11  profilanswer
 

ya pas une commande php "flock" ou "floc" qui  bloque l'accés a + de une requete sur le meme fichier ?

n°571565
saxgard
Posté le 20-11-2003 à 13:48:33  profilanswer
 

Mara's dad a écrit :

Ben en fait, t'as 2 manières de faire les choses :
 
- Soit tu as plusieurs process (ton cas) qui doivent écrire et chacun attend que le fichier soit dispo (boucle).
 
- Soit comme les serveurs de BDD tu as plusieurs process qui traitent les requêtes, mais un seul qui fait les écritures. Ce dernier sert de process serveur pour les autres.
 
Enfin, c'est comme çà que je le comprends.


 
bin disons que dans l'application que j'ai faite  , suelment une seule personne peu valider des produits et enregistrer ceux la dans un fichier.
Cependant il est possible que cette meme personne  ouvre un des fichiers résultat et oublie de le fermer, et exceute a nouveau l'applctaion.
Donc si je fais un systeme de boucle qui attend etc.. je  risuqe d'attendre longtemps.
 
L'idéal c'ets que je puisse sois ecrire dans un fichier ouvert  soit que je puisse détecter si un fichier est ouvert pour agir en consequence en ecrivant dans un autre fichier par exemple

n°571566
saxgard
Posté le 20-11-2003 à 13:51:04  profilanswer
 

noizing a écrit :

ya pas une commande php "flock" ou "floc" qui  bloque l'accés a + de une requete sur le meme fichier ?


 
apres recherche je crois en effet que la fonction exist , et ca me parait tres interssant et ac a l'air de reposer sur le principe des semaphores
 
merci

n°571609
Mara's dad
Yes I can !
Posté le 20-11-2003 à 14:37:09  profilanswer
 

Saxgard a écrit :


Cependant il est possible que cette meme personne  ouvre un des fichiers résultat et oublie de le fermer, et exceute a nouveau l'applctaion.
Donc si je fais un systeme de boucle qui attend etc.. je  risuqe d'attendre longtemps.


Donc ton appli n'est pas que en PHP !
 
Sinon, tous les fichiers ouverts par un script sont automatiquement fermés à la fin de l'execution du script.
On ne peux pas garder un script "en cours d'execution" et oublier de le fermer...
 
Question en passant, pourquoi ne pas utiliser une BDD ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°571657
saxgard
Posté le 20-11-2003 à 15:35:10  profilanswer
 

Mara's dad a écrit :


Donc ton appli n'est pas que en PHP !
 
Sinon, tous les fichiers ouverts par un script sont automatiquement fermés à la fin de l'execution du script.
On ne peux pas garder un script "en cours d'execution" et oublier de le fermer...
 
Question en passant, pourquoi ne pas utiliser une BDD ?


 
pardon je me suis mal exprimé  :D  
disons qu'apres les fichiers sont ouvert a la main sous windows (pas uniquement par l'application)
 
c'est des fichiers textes qui doivent etre ouvert sous excel pour être transformé au formal xls

n°571682
Mara's dad
Yes I can !
Posté le 20-11-2003 à 15:58:03  profilanswer
 

T'as quoi comme serveur web


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°571683
saxgard
Posté le 20-11-2003 à 15:59:50  profilanswer
 

Mara's dad a écrit :

T'as quoi comme serveur web


 
j'ai apache

n°571690
Mara's dad
Yes I can !
Posté le 20-11-2003 à 16:09:07  profilanswer
 

sous nunux ou zindoz ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°571695
saxgard
Posté le 20-11-2003 à 16:10:27  profilanswer
 

Mara's dad a écrit :

sous nunux ou zindoz ?


 
window 2000

n°571699
Mara's dad
Yes I can !
Posté le 20-11-2003 à 16:12:33  profilanswer
 

Donc tu peux faire du COM http://www.php.net/manual/fr/ref.com.php
Et donc écrire dirrectement dans un fichier Excel, a condition bien sûr qu'il ne soit pas déjà ouvert par un utilisateur :D.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°571745
saxgard
Posté le 20-11-2003 à 16:39:51  profilanswer
 

Mara's dad a écrit :

Donc tu peux faire du COM http://www.php.net/manual/fr/ref.com.php
Et donc écrire dirrectement dans un fichier Excel, a condition bien sûr qu'il ne soit pas déjà ouvert par un utilisateur :D.


 
je te remercie  , bon je comprend pas bine ce que c'ets mais je pourrais faire des recherches dessus  ;)  

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  gestion de fichier

 

Sujets relatifs
[Python] Comment créer un fichier ?Problème d'affichage des appostrophes dans un fichier
[Delphi] recupere les valeurs d'une cellule d'un fichier excelCOMMENT GÉNÉRER UNE MINIATURE CONFORME À UN FICHIER IMAGE INITIAL ?
[C++ Builder] Problème étrange entre OpenDialog & écriture de fichierAccès fichier ou gestion en mèmoire
[PHP] Upload de fichier , pb avec la gestion du repertoire ?Gestion de fichier et analyse de ligne en C
Gestion des espaces ds un path de fichierBesoin d'aide en c++ , Gestion fichier et repertoire !
Plus de sujets relatifs à : gestion de fichier


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