web之php命令执行常见函数------2023.2.6

 

  • system()函数

作用:将字符串作为OS命令执行,自带输出功能。

格式:string system ( string $command [, int &$return_var ] )//$command为执行的命令,&return_var可选,用来存放命令执行后的状态码。

  • passthru()函数

作用:将字符串作为OS命令执行,不需要输出执行结果,且输出全部的内容。

格式:void passthru ( string $command [, int &$return_var ] )//和system函数类似,$command为执行的命令,&return_var可选,用来存放命令执行后的状态码.

  • exec()函数

作用:将字符串作为OS命令执行,需要输出执行结果,且它只会输出最后一行的内容。

格式:string exec ( string $command [, array &$output [, int &$return_var ]] )/*

$command是要执行的命令

$output是获得执行命令输出的每一行字符串,$return_var用来保存命令执行的状态码(检测成功或失败)*/

  • shell_exec()函数

作用:将字符串作为OS命令执行,需要输出执行结果,且输出全部的内容。

格式:string shell_exec( string &command)//shell_exec()函数默认无回显,通过 echo 可将执行结果输出到页面

  • popen()/proc_open()函数

作用:该函数也可以将字符串当作OS命令来执行,但是该函数返回的是文件指针而非命令执行结果.

格式:resource popen ( string $command , string $mode )/*

函数需要两个参数,一个是执行的命令command,另外一个是指针文件的连接模式mode,有r和w代表读和写。

函数不会直接返回执行结果,而是返回一个文件指针,但是命令已经执行。

popen()打开一个指向进程的管道,该进程由派生给定的command命令执行而产生。

返回一个和fopen()所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用pclose()来关闭。

此指针可以用于fgets(),fgetss()和 fwrite()。proc_open()函数与其类似,只不过可以提供双向管道。

  • 反引号``

作用:[``]反引号里面的代码也会被当作OS命令来执行.

格式:shell_exec() 函数实际上仅是反撇号 (`) 操作符的变体,当禁用shell_exec时,` 也不可执行。

  • pcntl_exec()函数

作用:在当前进程空间执行指定程序。

格式:void pcntl_exec ( string $path [, array $args [, array $envs ]] )/*path是可执行二进制文件路径或一个在文件第一行指定了 一个可执行文件路径标头的脚本
args是一个要传递给程序的参数的字符串数组。*/

 

posted @ 2023-02-06 12:35  木偶2313  阅读(132)  评论(0)    收藏  举报