problème d'écriture dans un fichier [PHP] - PHP - Programmation
Marsh Posté le 14-05-2007 à 16:26:56
Je vois deux solutions :
- ne ferme pas la balise php (?> ) à la fin de ton fichier.
- utilise un algo qui consiste à lire le fichier, faire les modifications en mémoire, et le réécrire entièrement.
Marsh Posté le 14-05-2007 à 18:58:48
Si j'ai bien compris ton code, tu lis le fichier en entier, une fois que tu l'as lu, tu le modifie. Puis tu te remets en début de fichier pour écraser ce qui était écrit sans faire gaffe au texte qui pouvait y avoir avant.
Solution 1 : Fermer le fichier pour le rouvrir en mode "remplacement par un fichier vide" (mode W+ de mémoire) Vu que tu te fiches de son contenu précédant, autant repartir sur un fichier vide.
Solution 2 : utiliser file_get_contents et file_put_contents qui te permettront de lire le fichier en une fois sans boucle et de le réécrire en une fois sans avoir à te soucier de son contenu précédant.
Marsh Posté le 15-05-2007 à 10:44:04
Merci beaucoup de vos réponses, je ne connaissait pas le mode "w+" : c'est super pratique !!
Ça marche niquel, merci encore.
Je vous donne le bout de code qui marche :
Code :
|
Marsh Posté le 14-05-2007 à 14:57:31
Salut à tous,
J'ai un petit problème...
J'ai créé un site multilingue qui inclus des fichiers de langues selon celle choisi (lang_fr.php, lang_en.php...) et chaque fichier contient des variables PHP.
Jusqu'ici tout va bien.
J'ai créé un espace administration qui permet à l'admin de modifier les valeurs de ces constantes (pour la traduction par exemple).
Pour cela j'utilise une grosse classe "fichier"...
Le code de ma fonction de modification est le suivant :
Lorsque l'on remplace la valeur d'une constante par une autre plus importante => pas de problèmes
Par contre si ce que l'on remplace contient moins de caractères, à la fin de mon fichier, il y a les anciens caractères (qui ne s'effacent pas)...
Pour éviter cela, je rajoute des espaces à la fin de mon fichier.
Le fichier PHP pose alors problème, mon index (qui inclut les fichiers langues) n'aime pas trop les espaces :
Aidez-moi svp...
---------------
Achats-Ventes -- feedback