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 MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
php ios推送(代码)
Jul 01 PHP
实现PHP+Mysql无限分类的方法汇总
Mar 02 PHP
php类的定义与继承用法实例
Jul 07 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 PHP
PHP实现添加购物车功能
Mar 06 PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 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
PHP5函数小全(分享)
2013/06/06 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python调用matlab的m自定义函数方法
2019/02/18 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
python3 logging日志封装实例
2020/04/08 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
医校毕业生自我鉴定
2014/01/25 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
学校文明单位申报材料
2014/05/06 职场文书
会计专业自荐信
2014/06/03 职场文书
专业见习报告范文
2014/11/03 职场文书
2014年财政工作总结
2014/12/10 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
倡议书怎么写?
2019/04/11 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL