2010-05-13 6 views
4

J'ai un script php qui exécute un script bash. J'essaie de transmettre des paramètres comme celui-ci:Comment appeler un script bash à partir de paramètres de passage php

$script="/opt/lampp/htdocs/adapt.sh" 
$file="/opt/lampp/htdocs/videos/video1.mp4" 
$prefix="Test" 

exec ('.$script.' '.$file.' '.$prefix.'); 

Qu'est-ce qui ne va pas? Comment puis-je passer les paramètres?

+1

Vous pouvez déjà repérer ce qui est faux simplement en regardant la façon dont votre syntaxe est mise en évidence ... –

Répondre

3

Vous avez vos points au mauvais endroit, lire:

exec ($script . ' ' . $file . ' ' . $prefix); 

ou plus lisible

exec("$script $file $prefix"); 
+0

oui, Ça marche!! Merci!! – nabrugir

1

Je ne comprends pas vraiment ce que votre question est, mais votre appel exec() regarderais comme ceci:

exec ($script.' '.$file.' '.$prefix); 

Si vous acceptez les paramètres de l'extérieur (par exemple à partir d'un paramètre GET ou POST), assurez-vous pour utiliser escapeshellarg() sur les arguments pour des raisons de sécurité.

+0

Merci, ça marche! – nabrugir

1

cela est faux:

exec ('.$script.' '.$file.' '.$prefix.'); 

être prudent avec des citations :-)

exec ($script.' '.$file.' '.$prefix); 
Questions connexes