Home >Backend Development >PHP Tutorial >Detailed explanation of the exec() function in PHP and how to obtain its return value instance

Detailed explanation of the exec() function in PHP and how to obtain its return value instance

伊谢尔伦
伊谢尔伦Original
2017-06-27 09:24:035011browse

exec

Execute external programs.

Syntax: string exec(string command, string [array], int [return_var]);

Return value: String

Function type: Operating system and environment

Content description

This function executes the external program or external instruction input command. Its return string is only the last line returned after the external program is executed; if you need a complete return string, you can use the PassThru() function.

If the parameter array exists, the command will add the array to the parameter for execution. If you do not want the array to be processed, you can call unset() before executing exec(). If both return_var and array parameters exist, the status after executing the command will be filled in return_var.

It should be noted that if you need to process the data entered by the user and prevent the user from playing tricks to crack the system, you can use EscapeShellCmd().

Question:
How do I get a return value after exec("ping $PingDNS", $Info); is executed? This return value can mark whether it pinged successfully or not. After pinging, exec can only return the last line returned after the external program is executed. Help me! ! ! !

Answer 1:
Function: passthru()
------------------------------ --------------------------------------------------
Program execution function library
passthru
Execute external programs without processing the output data.

Syntax: string passthru(string command, int [return_var]);

Return value: String

Function type: Operating system and environment

Content Description
This function is similar to Exec() and is used to execute command instructions and output the results. If the return_var parameter exists, the status after executing the command will be filled in return_var. If the output data is binary data and needs to be output to the browser, it is quite appropriate to use this function. For example, use the pbmplus tool to execute instructions and return binary graphics data. You can first configure the header of the returned data to Content-type: image/gif, then call the pbmplus program to process the graphics data, and return the binary graphics data directly to the browser.

exec("ping $PingDNS", $Info);
will return a string in the form:
Reply from x.x.x.x: bytes=32 time<10ms TTL=128
Bad IP address expert.csdn.NET
...
can be analyzed based on the contents of these strings
In addition, the execution process is retained in $Info

Attachment:

Today This function I use when the front-end PHP sends a message to the back-end C:

The back-end requires that after writing the operation log after the user operation interface, a message must be sent to the back-end C

$juser = $_SESSION['wms_user'];

exec("/usr/local/apam_new/bin/apam_debug -a operate:$juser,1");

//The following is my test method:

//See if the message is sent to the background

exec("/usr/local/apam_new/bin/apam_debug -a operate: $juser,1",$info);

echo var_dump($info);

The result shows that the message is sent to the background, and the background print information is output to fireFox Firebugcolumn

is mainly to enhance the understanding of php's exec() function!

The above is the detailed content of Detailed explanation of the exec() function in PHP and how to obtain its return value instance. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn