exec ( $script $paramètre) ??

mimi
Invité n'ayant pas de compte PHPfrance

03 févr. 2006, 10:49

Bonjour à tous,

je n'arrive pas a trouver la syntaxe pour executer une commande (un script.sh) avec un fichier de paramètre $fichier
$fin = exec (`$script $temp`); 
un truc dans ce style parceque sous linux lorsque je fai: /chemin/script.sh /chemin/fichier
ca execute le script en prenant fichier comme fichier de paramètre...

j'ai essayé plein de syntaxe $script,$fichier '$script,$fichier' etc.....
je n'arrive pas à trouver la bonne syntaxe...

merci de vote aide

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 févr. 2006, 10:54

si tu fait
echo `$script $temp`;
tu obtient bien la ligne de commande que tu veux ?

Il est possible qu'il faille déspécialiser les /
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

mimi
Invité n'ayant pas de compte PHPfrance

03 févr. 2006, 11:14

euh non
echo "$script $temp";
m'affiche bien ce que je veux...
c'est pour ca je ne comprend pas pourquoi ca ne fonctionne pas

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 févr. 2006, 11:34

Et si tu fait un escapeshellcmd
sur la commande ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

mimi
Invité n'ayant pas de compte PHPfrance

03 févr. 2006, 11:42

ah non n'ai pas essayé ca!! mais je vais le faire!!

:wink: merci bien

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 févr. 2006, 12:05

Je viens de réagir qu'il ne faut pas faire un exec d'une commande se trouvant entre `

regarde cet article
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

mimi
Invité n'ayant pas de compte PHPfrance

06 févr. 2006, 16:46

apres quelques jours,
je n'y arrive toujours pas meme en utilisant escapeshellcmd

si j'essai ce code
$command = escapeshellcmd (`$script $temp`);
echo "$command<br>";
$fini = exec ($command);
echo $fini;
j'obtient cette erreur
Warning: exec(): Cannot execute a blank command in /var/www/fin.php on line 74
$command = escapeshellcmd ("$script $temp");
echo "$command<br>";
$fini = exec ($command);
echo $fini;
j'obtient ceci /home/scripts/restauration.sh /tmp/tempqFg5c4
c'est donc que $command contient la bonne valeur mais ca ne marche pas, le script n'est pas executé??!!
j'ai essayé avec des ", des ', des ` mais rien n'y fait...
si vous aviez une idée?? merci