项目中发现有用exec执行的命令。一开始看返回的值没有用就把他当初eval了。之后看到里面的 linux语句在反应过来这个是个难点!!!
php的 eval函数是执行php代码 eval(" echo time() ")
执行系统命令的用 exec或反引号 exec( ' dir ' ) `dir`
**让我们先看看php eval()的定义:**
定义和用法 eval()
函数把字符串按照 PHP 代码来计算。 该字符串必须是合法的 PHP 代码,且必须以分号结尾。
注释:return 语句会立即终止对字符串的计算。
提示:该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。
**再让我们看看php exec()的定义**
exec()的用法定义
string exec ( string $command [, array &$output [, int &$return_var ]] )
— 执行一个外部程序
command 要执行的命令。
output
如果提供了 output 参数, 那么会用命令执行的输出填充此数组, 每行输出填充数组中的一个元素。 数组中的数据不包含行尾的空白字符,例如 \n 字符。 请注意,如果数组中已经包含了部分元素,exec() 函数会在数组末尾追加内容。如果你不想在数组末尾进行追加, 请在传入 exec() 函数之前 对数组使用 unset() 函数进行重置。return_var
如果同时提供 output 和 return_var 参数, 命令执行后的返回状态会被写入到此变量。返回值
命令执行结果的最后一行内容。 如果你需要获取未经处理的全部输出数据, 请使用 passthru() 函数。
如果想要获取命令的输出内容, 请确保使用 output 参数。