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


Posted in PHP onAugust 20, 2014

这两个函数都是执行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例子
<?php

/**

 * exec与shell_exec的区别

 * 琼台博客

 */

$data = exec('/bin/ls -l');

echo '<pre>';

print_r($data);

echo '</pre>';

?>

执行结果
-rw-r--r--. 1 lee web  81 Mar  8 17:00 c.php

shell_exec例子
<?php

/**

 * exec与shell_exec的区别

 * 琼台博客

 */

$data = shell_exec('/bin/ls -l');

echo '<pre>';

print_r($data);

echo '</pre>';

?>

执行结果
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函数,当然,如果命令执行结果只有一行返回信息,那么使用哪个都无所谓。
PHP 相关文章推荐
几个php应用技巧
Mar 27 PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
Nov 07 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
Feb 01 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
PHP操作文件的一些基本函数使用示例
Nov 18 PHP
PHP中4种常用的抓取网络数据方法
Jun 04 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
Nov 20 PHP
PHP常用的三种设计模式
Feb 17 PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 PHP
php readfile()修改文件上传大小设置
Aug 11 PHP
简单实现php上传文件功能
Sep 21 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
实例讲解PHP面向对象之多态
Aug 20 #PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 #PHP
Linux下PHP连接Oracle数据库
Aug 20 #PHP
Win7 64位系统下PHP连接Oracle数据库
Aug 20 #PHP
对PHP新手的一些建议(PHP学习经验总结)
Aug 20 #PHP
访问编码后的中文URL返回404错误的解决方法
Aug 20 #PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 #PHP
You might like
PHP 函数学习简单小结
2010/07/08 PHP
PHP排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
PHP getName()函数讲解
2019/02/03 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
js图片预加载示例
2014/04/30 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
python使用mysql的两种使用方式
2018/03/07 Python
解决python报错MemoryError的问题
2018/06/26 Python
python矩阵的转置和逆转实例
2018/12/12 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
Python3远程监控程序的实现方法
2019/07/15 Python
python-视频分帧&amp;多帧合成视频实例
2019/12/10 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
编辑找工作求职信范文
2013/12/16 职场文书
岗位职责的构建方法
2014/02/01 职场文书
计算机专业求职信
2014/06/02 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
见习期个人总结
2015/03/05 职场文书
公司会议开幕词
2016/03/03 职场文书
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL