如何使用php变量insisde系统命令

tec*_*h74 1 php

如何在system()调用中使用PHP5变量

$ dir ='/ etc/somedir';

例如 system("ls $dir")

我想我错过了什么

我实际上是从帖子传递一个变量

例如

$username = $_POST[username];
Run Code Online (Sandbox Code Playgroud)

到系统调用

system("processData --user $ username --pass $ password");

这不起作用,所以我轻描淡写只是一个简单的例子

Sar*_*raz 5

你做得很好,除了你缺少分号(;)

system("ls $dir");
Run Code Online (Sandbox Code Playgroud)

你也可以这样做:

system("ls" . $dir);
Run Code Online (Sandbox Code Playgroud)

注意:

当允许将用户提供的数据传递给此函数时,请使用 escapeshellarg()escapeshellcmd()确保用户不会欺骗系统执行任意命令.

  • +1提及shell安全性.以这种方式破坏了太多的网站. (2认同)