Могу ли я включить переменную php в shell_exec?PHP: включить PHP-переменную в shell_exec
Я Тринг, чтобы сделать эту линию работы $ Dname является переменной PHP
shell_exec(cat . $Dname.txt . | sed "s#,]}#]}#g" > $Dname2.txt);
Могу ли я включить переменную php в shell_exec?PHP: включить PHP-переменную в shell_exec
Я Тринг, чтобы сделать эту линию работы $ Dname является переменной PHP
shell_exec(cat . $Dname.txt . | sed "s#,]}#]}#g" > $Dname2.txt);
Вы не котируется вашу команду оболочки, и вы должны бежать $Dname
с escapeshellarg()
. Примечание. Я также избежал кавычек в выражении sed
, хотя в этом случае их можно было бы заменить на одинарные кавычки без негативных эффектов.
$Dname = escapeshellarg($Dname);
shell_exec("cat $Dname.txt . | sed \"s#,]}#]}#g\" > {$Dname}2.txt");
Вы можете сделать это, но, как и любой другой строки в PHP, это необходимо процитировать:
shell_exec('cat '.$Dname.'.txt | sed "s#,]}#]}#g" > '.$Dname2.'.txt');
Вы должны избежать ввода пользователя, в случае необходимости, с escapeshellarg()
.
Работал! Спасибо, Майкл –