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 相关文章推荐
初探PHP5
Oct 09 PHP
解决php中Cannot send session cache limiter 的问题的方法
Apr 27 PHP
PHP中如何实现常用邮箱的基本判断
Jan 07 PHP
php 生成自动创建文件夹并上传文件的示例代码
Mar 07 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
Mar 07 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
Apr 20 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
Laravel实现搜索的时候分页并携带参数
Oct 15 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
php函数与传递参数实例分析
2014/11/15 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python中获取网页状态码的两个方法
2014/11/03 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
python解析多层json操作示例
2019/12/30 Python
pygame实现弹球游戏
2020/04/14 Python
Python如何给函数库增加日志功能
2020/08/04 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
计算机开发个人求职信范文
2013/09/26 职场文书
店长岗位职责
2013/11/21 职场文书
教师研修随笔感言
2014/01/23 职场文书
探矿工程师自荐信
2014/01/24 职场文书
管理专员自荐信
2014/01/26 职场文书
铁路工务反思材料
2014/02/07 职场文书
物业管理毕业生的自我评价
2014/02/17 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
使用JS实现简易计算器
2021/06/14 Javascript
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL