如何在系统命令中使用php变量

时间:2010-06-27 12:55:40

标签: php

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

$ dir ='/ etc / somedir';

例如system("ls $dir")

我想我错过了什么

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

e.g。

$username = $_POST[username];

进行系统调用

system(“processData --user $ username --pass $ password”);

这不起作用,所以我琐碎了一个简单的 示例

2 个答案:

答案 0 :(得分:5)

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

system("ls $dir");

你也可以这样做:

system("ls" . $dir);

注意:

  

允许用户提供的数据时   传递给这个函数,使用   escapeshellarg()或   escapeshellcmd()确保这一点   用户无法欺骗系统   执行任意命令。

答案 1 :(得分:1)

看起来你不是......你能扩展你的榜样吗?有任何错误返回? system()函数返回什么?

您应该记住,system()仅返回运行命令的最后一行。

也可以使用内置的php函数,例如dir()DirectoryIterator

,而不是'ls'