Both functions execute the Linux command function, except that the return result is not the same, exec can only get the last row of data, and SHELL_EXECU can get all the data.
If the script path has the following file:
Copy the Code code as follows:
-bash-4.1# LL
Total Dosage 12
-rw-rw-r--. 1 www web 133 July 15:00 a.php
-rw-r--r--. 1 Lee Web 59 February 17:05 b.php
-rw-r--r--. 1 Lee Web 81 March 8 17:00 c.php
exec Example
Copy the Code code as follows:
<?php
/**
* The difference between exec and shell_exec
* Jones Taiwan Blog
*/
$data = EXEC ('/bin/ls-l ');
Echo '
';
Print_r ($data);
Echo '
';
?>
Execution results
Copy CodeThe code is as follows:
-rw-r--r--. 1 Lee Web Bayi Mar 8 17:00 c.php
shell_exec Example
Copy CodeThe code is as follows:
<?php
/**
* The difference between exec and shell_exec
* Jones Taiwan Blog
*/
$data = shell_exec ('/bin/ls-l ');
Echo '
';
Print_r ($data);
Echo '
';
?>
Execution results
Copy CodeThe code is as follows:
Total 12
-rw-rw-r--. 1 www web 139 Jul a.php
-rw-r--r--. 1 Lee Web 17:05 b.php
-rw-r--r--. 1 Lee Web Bayi Mar 8 17:00 c.php
So the children's shoes usually use the EXEC function notice, if you need to get all the return information, you should use the Shell_exec function, of course, if the command execution results only one row return information, then it doesn't matter what to use.