Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/10/2007, 16h43   #1
Membre du Club
 
Avatar de Merfolk
 
Inscription : juillet 2003
Messages : 166
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : juillet 2003
Messages : 166
Points : 59
Points : 59
Par défaut Gestion fichiers logs - file_put_contents ?

Bonjour


Voilà une fonction qui est censée logger un texte dans un fichier
Code :
1
2
3
4
5
6
7
 
function logg($message)
{
	$fichierLog = "log.txt"
	$log = "[".date("d-m-Y h:i:s")."] $message \n";
	file_put_contents($fichierLog,$log, FILE_APPEND);
}

Et j'appelle cette fonction un peu comme je veux quand je veux dans mon programme principal. // Même dans une boucle de 10 000 éléments

Je m'inquiète car ça ne m'a pas l'air d'être une bonne façon de faire.
D'après ce que je comprends, si je fais ça dans ma boucle de 10 000 éléments

ca fera 10 000 fois
- ouvrir le fichier
- ecrire dedans à la fin
- fermer le fichier

enormément d'acces disque ?

====

Est-ce qu'il ne serait pas mieux de faire
concaténer les messages dans une variable - écrire tout à la fin dans le fichier, la variable

====

ou bien faire un open au debut du script
à chaque message "fwrite"
close à la fin


...
j'ai l'impression que ce n'est pas bien, mais "curieusement", ça tourne plutôt "nickel"...alors que j'aurai pu penser à une "explosion" de "file_descriptor" ?

C'est le "FILE_APPEND" qui fait que c'est "optimisé" ?
si quelqu'un peut me donner plus d'infos

merci
Merfolk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2007, 20h26   #2
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
File_Append permet en effet d'optimier en partie ce genre d'accès récurrent.

Sinon, tu peux toujours t'amuser à comparer en plaçant des calculs de temps de traitement avant et apres tes fonctions d'écriture de fichier.

Si tout marche au poil chez toi à mon avis il n'y a pas besoin non plus de vouloir optimiser d'avantage. Mais bon tu peux toujours faire le calcul, ça peut être intéressant.
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h00.


 
 
 
 
Partenaires

Hébergement Web