Lancer un programme par la fonction exec

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Lancer un programme par la fonction exec

par donny » 25 mai 2005, 11:33

Une question à part
je souhaite automatiser un pg_dump
je peux faire une fonction php qui executer un .bat soit au clique d'un bouton, soit en recupérant l'heure du pc et en la comparant à une variable et si c'est bon j 'execute mon point bat?

par Invité » 25 mai 2005, 11:20

Merci pour ton conseil mais le problème venait du PC donc plus de problème tout fonctionne correctement.

par zeus » 24 mai 2005, 15:45

Et si tu fait
if (is_file("C:\GMT\bin\creation_cartesNO2PREV.bat"))
  echo "fichier existe";
else
  echo "fichier existe pas";
Il te donne quoi ?

par steph » 24 mai 2005, 15:39

c'est ce que j'ai fait dans mon script j'ai mis cela :

// création cartes NO2
ecriture_trace("début création carte NO2","prev");
exec("C:\GMT\bin\creation_cartesNO2PREV.bat");
ecriture_trace("fin création carte NO2","prev");
et ce ne fonctionne toujours pas

par zeus » 24 mai 2005, 15:29

SI ton fichier .bat ne se trouve pas dans le même dossier que ton script PHP, c'est normal qu'il ne soit pas exécuter !!!

Il faut que tu remplace le nom de ton fichier dans la fonction exec par le chemin d'accès relatif ou absolu !!!

absolu :

Code : Tout sélectionner

C:/executables/toto.bat
relatif :
si le script est :

Code : Tout sélectionner

c:/EasyPHP/www/script.php
et .bat est :

Code : Tout sélectionner

c:/executables/toto.bat
alors chemin relatif depuis le script est :

Code : Tout sélectionner

../../executables/toto.bat

par steph » 24 mai 2005, 15:24

Mon script se trouve dans programme file\easyPHP1.8\www
et mon . bat se trouve dans un autre fichier.
Lorsque je lance .BAT manuellement pas de probleme il fait ce que je veux

par zeus » 24 mai 2005, 15:11

Ton script se trouve à la racine de ton serveur ?
Et ton .bat, il se trouve où ?

Et si tu lance ton .bat manuellement, est-ce qu'il fait bien ce que tu veux qu'il fasse ?

par Invité » 24 mai 2005, 15:06

oui je suis d'accord avec toi mais malgré çà çà ne fonctionne toujours.
Pour lancer mon programme PHP j'utilise le web local de easy PHP, cela pourrait il venir de çà ?

par zeus » 24 mai 2005, 14:34

Est-ce que ton .bat se trouve dans le dossier dans lequel se trouve le script PHP ? Si ce n'est pas le cas, il faut que tu lui donne le chemin qui va le mener à ce fichier

Lancer un programme par la fonction exec

par steph » 24 mai 2005, 14:32

Est-ce que pour utiliser la fonction exec, il faut mettre une ligne de commande précise ou encore indiquer le chemin dans lequel se trouve notre programme à lancer car j'ai ce morceau de script :

// création cartes NO2
ecriture_trace("début création carte NO2","prev");
exec("creation_cartesNO2prev.bat");
ecriture_trace("fin création carte NO2","prev");
et mon programme en PHP ne lance pas mon .bat.

Quelqu'un aurait-il une solution ?

Merci