Home > php教程 > php手册 > body text

PHP中exec函数和shell_exec函数的区别

WBOY
Release: 2016-06-06 20:19:13
Original
1536 people have browsed it

这篇文章主要介绍了PHP中exec函数和shell_exec函数的区别,这两个函数是非常危险的函数,一般情况都是被禁用的,当然特殊情况下也会使用,需要的朋友可以参考下

这两个函数都是执行Linux命令函数,不同的是获取返回结果不一样,exec只能获取最后一行数据,shell_execu则可以获取全部数据。

假如脚本路径下有如下文件:

复制代码 代码如下:


-bash-4.1# ll
总用量 12
-rw-rw-r--. 1 www web 133  7月 16 15:00 a.php
-rw-r--r--. 1 lee web  59  2月 29 17:05 b.php
-rw-r--r--. 1 lee web  81  3月  8 17:00 c.php


exec例子

复制代码 代码如下:


/**
 * exec与shell_exec的区别
 * 琼台博客
 */
$data = exec('/bin/ls -l');
echo '

';<br>
print_r($data);<br>
echo '
Copy after login
Copy after login
';
?>

执行结果

复制代码 代码如下:


-rw-r--r--. 1 lee web  81 Mar  8 17:00 c.php


shell_exec例子

复制代码 代码如下:


/**
 * exec与shell_exec的区别
 * 琼台博客
 */
$data = shell_exec('/bin/ls -l');
echo '

';<br>
print_r($data);<br>
echo '
Copy after login
Copy after login
';
?>

执行结果

复制代码 代码如下:


total 12
-rw-rw-r--. 1 www web 139 Jul 16  2012 a.php
-rw-r--r--. 1 lee web  59 Feb 29 17:05 b.php
-rw-r--r--. 1 lee web  81 Mar  8 17:00 c.php


所以平时使用exec函数的童鞋注意了,,如果你需要获取全部返回信息,就应该使用shell_exec函数,当然,如果命令执行结果只有一行返回信息,那么使用哪个都无所谓。
Related labels:
source:php.cn
Statement of this Website
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
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!