lancer un .bat en php - PHP - Programmation
Marsh Posté le 04-07-2005 à 11:42:26
Là tu files à exec un stream de fichier, fermé en plus.
Il veut le chemin, lui, a priori.
En même temps, j'ai jamais eu l'occasion d'utiliser exec, donc je sais pas.
Marsh Posté le 04-07-2005 à 11:45:03
J'ai aussi essayé de le faire avec
exec("C:\\Program Files\\PostgreSQL\\8.0\\shelloutput.bat" );
mais ce ne fonctionne pas non plus!!!
Marsh Posté le 04-07-2005 à 11:48:38
natbo a écrit : mais ce ne fonctionne pas non plus!!! |
- un message d'erreur ? un retour ?
- le fichier bat a bien été généré ?
- pourquoi ne pas lancer ces commandes à partir de php ?
Marsh Posté le 04-07-2005 à 11:51:36
Pas de messages d'erreur lorsque je lance mon fichier php.
Le fichier .bat est généré mais je n'arriva pas à l'exécuter en fait.
J'ai essayé de lancer aussi comme ça mais ce ne fais pas non plus:
$line="C:\Program Files\PostgreSQL\8.0\bin\shp2pgsql -s ".$srid." -c ".$shape." ".$table." ".$bd." > ".$fichierSql;
exec($line);
Je ne vois pas ou est l'erreur..
C'est bien la fonction exec pour exécuter un programme????
Marsh Posté le 04-07-2005 à 15:19:02
Personne ne peut vraiment m'aider???
Je suis réellement bloquée........
Marsh Posté le 04-07-2005 à 16:43:08
Je pense qu'il faut que ce soit un chemin relatif. Essaie en créant le .bat à la racine de ton script.
Marsh Posté le 04-07-2005 à 16:46:23
natbo a écrit : Pas de messages d'erreur lorsque je lance mon fichier php. |
Et le .bat généré, il fonctionne correctement?
Marsh Posté le 05-07-2005 à 23:13:47
$line="C:\Program Files\PostgreSQL\8.0\bin\shp2pgsql -s ".$srid." -c ".$shape." ".$table." ".$bd." > ".$fichierSql;
exec($line);
tu n'indique pas l'extension du fichier, et donc apparament là il ne varien chercher comme executable.
tente ca
$line="C:\Program Files\PostgreSQL\8.0\bin\shp2pgsql.exe -s ".$srid." -c ".$shape." ".$table." ".$bd." > ".$fichierSql;
exec($line);
Marsh Posté le 06-07-2005 à 00:08:34
c'est pas simplement qu'il faut \\ les \
sachant que le \ est un caractère d'échappement, et que là tu a par exemple, \P ... \P ... \8 ... \b... tu vois le principe
faudrait les doubler
Marsh Posté le 06-07-2005 à 00:37:06
essaye
Code :
|
peut être. Fait attention, la sortie sera à la racine du script php, pas à celui du .bat normalement.
Marsh Posté le 06-07-2005 à 09:32:50
Merci pour ces réponses...
J'ai enfin trouvé la solution, grâce à vous!!!
En fait, le bat se trouve effectivement à la racine du script php... c'est pour cela qu'il ne le trouvait pas. De plus, j'ai mis mon prog shp2pgsql à la racine de php et cela fonctionne...
Code :
|
Merci à tous!!!
Marsh Posté le 04-07-2005 à 11:30:17
Salut à tous,
Je cherche à automatiser des lignes de codes pour aider à remplir une bd en postgres.postgis. Pour cela, je fais une interface locale en php. J'ai déjà récupérer les valuers dont g besoin et je créé un fichier .bat que je souhaite lancer dans mon fichier php et il doit me créer un fichier sql que je lancerais ultérieurement. Le hic c'est qu'il ne s'exécute pas.
Voici le code.. QQu'un peut m'aider svp????
$shell_output = fopen("C:\\Program Files\\PostgreSQL\\8.0\\shelloutput.bat","w" );
$line="bin\\"."shp2pgsql -s ".$srid." -c ".$shape." ".$table." ".$bd." > ".$fichierSql;
fwrite($shell_output,$line);
fclose($shell_output);
exec("$shell_output" );