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 和 XML: 使用expat函数(一)
Oct 09 PHP
比较全的PHP 会话(session 时间设定)使用入门代码
Jun 05 PHP
PHP教程 基本语法
Oct 23 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
php实现购物车产品删除功能(2)
Jul 23 PHP
详解PHP中的外观模式facade pattern
Feb 05 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
php日历[测试通过]
2008/03/27 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
Javascript 篱式条件判断
2008/08/22 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
讲解Python中运算符使用时的优先级
2015/05/14 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
Python netmiko模块的使用
2020/02/14 Python
CSS3实现DIV圆角效果完整代码
2012/10/10 HTML / CSS
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
为什么要做架构设计
2015/07/08 面试题
装潢设计实习自我鉴定
2013/09/19 职场文书
秋季运动会表扬稿
2014/01/16 职场文书
一年级学生期末评语
2014/04/21 职场文书
满月酒邀请函
2015/01/30 职场文书
小学教学工作总结2015
2015/05/13 职场文书