PHP执行linux命令6个函数代码实例

1. PHP执行linux命令6个函数代码实例

1.1 exec()

exec()函数用于执行一个外部程序。它的基本语法如下:

string exec ( string $command [, array &$output [, int &$return_var ]] )

其中,$command是要执行的命令,$output是一个用于存储命令输出的数组变量,$return_var是一个用于存储命令返回值的整型变量。

下面是一个使用exec()函数的示例:

$output = array();

$return_var = 0;

exec('ls -l', $output, $return_var);

echo "命令输出:";

foreach ($output as $line) {

echo $line;

}

echo "返回值:".$return_var;

执行以上代码,将会执行Linux的ls -l命令,并将命令的输出保存在$output数组变量中,返回值存储在$return_var整型变量中。

1.2 shell_exec()

shell_exec()函数用于执行命令,并返回输出。它的基本语法如下:

string shell_exec ( string $command )

下面是一个使用shell_exec()函数的示例:

$output = shell_exec('ls -l');

echo "命令输出:";

echo $output;

以上代码将会执行Linux的ls -l命令,并将结果输出。

1.3 system()

system()函数用于执行一个外部程序,并显示输出。它的基本语法如下:

string system ( string $command [, int &$return_var ] )

下面是一个使用system()函数的示例:

$return_var = 0;

system('ls -l', $return_var);

echo "返回值:".$return_var;

以上代码将会执行Linux的ls -l命令,并显示输出结果。

1.4 passthru()

passthru()函数用于执行命令,并将结果直接输出。它的基本语法如下:

void passthru ( string $command [, int &$return_var ] )

下面是一个使用passthru()函数的示例:

$return_var = 0;

passthru('ls -l', $return_var);

echo "返回值:".$return_var;

以上代码将会执行Linux的ls -l命令,并直接输出结果。

1.5 popen()

popen()函数用于执行一个外部程序,并返回一个文件指针。它的基本语法如下:

resource popen ( string $command , string $mode )

下面是一个使用popen()函数的示例:

$file = popen('ls -l', 'r');

echo "命令输出:";

while (!feof($file)) {

echo fgets($file);

}

fclose($file);

以上代码将会执行Linux的ls -l命令,并逐行打印输出结果。

1.6 proc_open()

proc_open()函数用于执行一个外部程序,并返回一个进程资源。它的基本语法如下:

resource proc_open ( string $command , array $descriptorspec , array &$pipes [, string $cwd [, array $env [, array $other_options ]]] )

下面是一个使用proc_open()函数的示例:

$descriptorspec = array(

0 => array("pipe", "r"), // 标准输入

1 => array("pipe", "w"), // 标准输出

2 => array("pipe", "w") // 标准错误输出

);

$process = proc_open('ls -l', $descriptorspec, $pipes);

echo "命令输出:";

if (is_resource($process)) {

while (!feof($pipes[1])) {

echo fgets($pipes[1]);

}

fclose($pipes[1]);

$return_value = proc_close($process);

}

以上代码将会执行Linux的ls -l命令,并打印输出结果。

以上是6个PHP执行Linux命令的函数的示例代码。这些函数可以方便地与Linux命令进行交互,并获取命令的输出结果和返回值。在实际开发中,我们可以根据具体需求选择合适的函数来执行Linux命令,并处理命令的结果。需要注意的是,执行外部命令要谨慎,应该对用户输入进行验证和过滤,以防止安全风险。

后端开发标签