Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Je souhaiterais donc ajouter une ligne dans un fichier en utilisant php. Voilà ce que je me propose de faire. Je lis le fichier (dans lequel je souhaite insérer une nouvelle ligne) ligne par ligne en utilisant la fonction "file()". Ensuite je recherche l'endroit où je souhaite placer ma nouvelle ligne (avant la ligne qui comporte la balise <title>, je modifie la ligne "repère" en lui ajoutant la nouvelle ligne. Ensuite je relis le tableau et l'envoie vers le fichier (après l'avoir ouvert en écriture et mis à 0) header.php. Concrètement ça donne ça pour le code :
Le fichier que je modifie s'appelle "header.php". J'ai utilisé une boucle "for" car, d'après ce que j'ai lu, en utilisant "foreach" on travaille sur une copie du tableau et non sur le tableau lui-même.
Or, en appliquant se script, rien ne se passe, même pas de message d'erreur. Par contre d'après mon éditeur de texte dans lequel j'éditais "header.php", ce fichier a bien été modifié...
Je ne suis pas sûr d'employer la bonne méthode, alors si vous avez une autre solution, n'hésitez pas à me la communiquer
Merci d'avance pour votre aimable aide
Dernière modification par jojaba (08-05-2010 10:14:36)
Plume CMS - Le système de gestion de contenu léger et puissant !
Localiser des extensions Mozilla sur BabelZilla
FluxBB, les forums tout en simplicité et en puissance !
Hors ligne
Salut,
...ce fichier a bien été modifié...
Qu'est-ce qui te fait dire ceci ?
As tu bien un "error_reporting" à ALL ?
As tu vérifié les droits sur le fichier à écrire ?
Le chemin vers le fichier est bon ?
Tout ceci car j'ai fait fonctionner ton script correctement...
D'autre part, tu peux quand même utiliser foreach.
A+
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
As tu bien un "error_reporting" à ALL ?
Dans mon fichier php.ini :
Je suppose que ça devrait être bon comme ça, ou dois-je ne mettre qu'E_ALL ?
As tu vérifié les droits sur le fichier à écrire ?
Pendant mon test en local, j'éditais le fichier header.php dans jEdit (mon éditeur de texte) et à chaque fois que je lançais le script, jEdit m'indiquais que header.php a été modifié et me demandais si je voulais enregistrer les modifications intervenues. Donc, oui, le fichier a les droits suffisants apparemment.
Le chemin vers le fichier est bon ?
Voir réponse précédente...
Tout ceci car j'ai fait fonctionner ton script correctement...
Ah bon ?
D'autre part, tu peux quand même utiliser foreach.
Merci pour l'info. Je testerai dès que possible.
Merci pour ta réponse
Plume CMS - Le système de gestion de contenu léger et puissant !
Localiser des extensions Mozilla sur BabelZilla
FluxBB, les forums tout en simplicité et en puissance !
Hors ligne
Je pense que le problème vient de mon test :
D'après le manuel php la fonction strpos() ne renvoie pas forcément "false", je pense que ça doit être la même chose pour "true".
Je vais approfondir cette piste...
Plume CMS - Le système de gestion de contenu léger et puissant !
Localiser des extensions Mozilla sur BabelZilla
FluxBB, les forums tout en simplicité et en puissance !
Hors ligne
Je pense que le problème vient de mon test :
if (strpos($header_lines[$i], '<title>'))D'après le manuel php la fonction strpos() ne renvoie pas forcément "false", je pense que ça doit être la même chose pour "true".
Je vais approfondir cette piste...
Eh bien j'ai trouvé. C'est bien le test qui n'était pas bon. Il fallait remplacer ça :
par ça :
Par contre ça ne marche pas avec foreach() puisqu'on travaille avec une copie, la modification n'est pas prise en compte lors de l'écriture...
Dernière modification par jojaba (08-05-2010 20:58:32)
Plume CMS - Le système de gestion de contenu léger et puissant !
Localiser des extensions Mozilla sur BabelZilla
FluxBB, les forums tout en simplicité et en puissance !
Hors ligne
Pages :: 1