Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : modification de fichier avec la fonction exec() [ Archives / AU SECOURS !!! ] (brex)

mardi 8 février 2005 à 14:30:59 | modification de fichier avec la fonction exec()

brex

Bonjour,

j'explique mon problème : je développe une interface web en php sur un serveur unix. Dans la partie administration de mon interface je récupère des paramètres que je dois insérer dans plusieurs fichiers de configuration.
Pour modifier ses fichiers j'utilise la fonction exec() qui me permet d'executer une commande unix avec php. (j'utilise cette commande car je trouve que la modification est plus pratique qu'avec la manipulation de fichiers en php). Je suis arrivé à modifier 2 fichiers avec les paramètres de cette façon:

la ligne a modifier est du type :
        $all_sites = array{"site1","site2","site3");
et je dois par exemple rajouter site4 a la fin:
       $all_sites = array{"site1","site2","site3","site4");

mon code qui fonctionne:
      # Récupère la ligne concernée $a
        $a = exec('cat server.cfg | grep "\$all_sites"');
        # Supprime les 2 derniers caractères et met la ligne dans $b
        $b = substr($a, 0, -2);
        # Ajoute le nom du serveur à la fin de $b
        $b = "$b,\"$nom_serveur\");";
        # Ajoute un \ devant les " pour les protéger
        $a = addcslashes($a, '"');
        $b = addcslashes($b, '"');
        # Edition de la commande shell et execution
        $cmd = "cat server.cfg | sed -e \"s/$a/$b/\" > server.cfg";
        exec("$cmd", $tab, $rep);

Bref, mon problème arrive: dans cet exemple le fichier à modifier "server.cfg" est dans le même répertoire que mon fichier php qui execute le code. Mais je dois modifier 2 autres fichiers qui se trouvent dans un sous-répertoire de mon arborescence à savoir :  Scripts/perl.conf  et  Scripts/Getlog.conf.
Je n'arrive pas a executer une commande si le fichier n'est pas dans le même répertoire
losque je lance la premiere ligne : 
$a = exec('cat Scripts/server.cfg | grep "\$all_sites"');
il ne se passe rien et j'ai un code de retour d'erreur....

si quelqu'un a une idée pour résoudre mon problème...
Merci d'avance a tous ceux qui essaye de m'aider

Brex


mercredi 9 février 2005 à 14:16:51 | Re : modification de fichier avec la fonction exec()

djagger

lusss !

en faisant :
$maCommande = "cat Scripts/server.cfg | grep ".$all_sites;
exec($maCommande);

ca marchera peut-etre mieux !
a+++

jeudi 10 février 2005 à 10:22:53 | Re : modification de fichier avec la fonction exec()

brex

Non, ta commande ne correspond pas à ce que je veux, $all_sites n'est pas une variable de ma page, c'est juste un string qui se situe dans mon fichier server.cfg et que je recherche avec grep comme dans l'exemple que je donne au début.

la ligne a modifier est du type :
        $all_sites = array{"site1","site2","site3");
et je dois par exemple rajouter site4 a la fin:
       $all_sites = array{"site1","site2","site3","site4");



jeudi 10 février 2005 à 10:26:18 | Re : modification de fichier avec la fonction exec()

brex

mais meme simplement;

$cmd1 = "cat server.cfg";
exec($cmd1);

$cmd2 = "cat Scripts/perl.conf";
exec($cmd2);


la commande cmd1 marche sans problème mais la $cmd2 ne marche pas !



jeudi 10 février 2005 à 10:27:36 | Re : modification de fichier avec la fonction exec()

djagger

Ouep surement, j'avais juste regardé la syntaxe !
par contre niveau shell peut pas t'aider ca fé bien longtps !

jeudi 10 février 2005 à 10:29:42 | Re : modification de fichier avec la fonction exec()

djagger

ah ouai chelou là quand meme !

et "cat ./Scripts/perl.conf" ??

T'es sur de ta majuscule sur Script (question a la con je sais mais bon ... ;) )

jeudi 10 février 2005 à 10:59:11 | Re : modification de fichier avec la fonction exec()

brex

lol je viens de trouver...je n'ose pas le dire

Comme toujours je me suis prit la tête sur un problème à la con. C'était juste un problème de droits d'accès au sous-répertoire. Mon répertoire /Scripts n'était pas accesible, maintenant ca marche.

Je te remercie beaucoup djagger pour m'avoir aider, désolé si c'était pas mon code qui avait un problème mais moi qui est pas réfléchie

A bientot sur le forum



jeudi 10 février 2005 à 11:06:41 | Re : modification de fichier avec la fonction exec()

djagger

héhéhé ca arrive ! l'important c que t'ai trouvé !
allé bonne continuation a +++



Cette discussion est classé dans : fichier, server, fichiers, modifier, exec


Répondre à ce message

Sujets en rapport avec ce message

Encore les fichiers [ par koko ] bon c'est encore moi avec mes fichiers.txt... cette fois-ci, je voudrais que lorque j'ouvre le fichier, il mets les variables qui sont à l'intérieur d PHP ET LES FICHIERS ???? [ par GazGaz ] lu all alors voila je voulais savior si c'était possible avec php d'aller chercher des informations dans un fichier qui est structué de la meme manier Ouverture de fichiers distants impossible [ par BSide ] Bonjour,je rencontre un pbl que g du mal à dépatouiller.Voici le topo :- mon appli (un intranet) se trouve sur un serveur A. Elle permet entre autre d Edition de fichiers txt [ par ceeno ] Bonjour,voila, j'aimerais écrire dans un fichier texte entre 2 balises.Par exemple, prenons un fichier texte.txt qui contient :Je souhaite ajouter une Compresser les fichiers pour Upload [ par Hpic ] Bonjour ,Quelqu'un aurait-il l'amabilité de m'expliquer comment compresser un fichier en *.*.zip lors de l'upload du fichier sur un serveur ( apache Copie de fichiers distants [ par ChocoBiscuit ] Bonjour tt le mondeTout d'abord, je sais k'il y a bocoup de topics de ce type, mais je n'ai pas trouvé mon cas (trop de fichiers.... arf... fainéant k Modifier un fichier OU SUGGESTIONS [ par DeepXtaZy ] Bonjour,Je suis en stage et je voudrais faire une page pour que mon patron puisse diffuser facilement et meme tres facilement des notes de service.Je Modifier un fichier OU SUGGESTIONS [ par DeepXtaZy ] Bonjour,Je suis en stage et je voudrais faire une page pour que mon patron puisse diffuser facilement et meme tres facilement des notes de service.Je créer un fichier ???? petit PB [ par MangaII ] Hello les gars !Voilà, j'ai un petit soucis, j'ai besoin de créer des fichiers (TXT) sur mon site, depuis ma page en PHP ! le PB, c que je pe pas ! Je (ftp) comment copier un fichier sur le server a partir de son ordinateur [ par tclo2 ] ftp svp Bonjour comment lire un fichier des sources de son ordinateur (c:fichier) et le copier sur son serveur (http://serveur/fichier)


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.