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 mssql 数据库分页SQL语句
Dec 16 PHP
PHP 中执行排序与 MySQL 中排序
Apr 21 PHP
php $_SERVER当前完整url的写法
Nov 12 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
PHP过滤★等特殊符号的正则
Jan 27 PHP
php中创建和调用webservice接口示例
Jul 25 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 PHP
php 数组随机取值的简单实例
May 23 PHP
全面了解PHP中的全局变量
Jun 17 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
May 15 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 26 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
php实现socket推送技术的示例
2017/12/20 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
JS检测图片大小的实例
2013/08/21 Javascript
javascript中的原型链深入理解
2014/02/24 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
jQuery检测某个元素是否存在代码分享
2015/07/09 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
AngularJS动态添加数据并删除的实例
2018/02/27 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
python strip()函数 介绍
2013/05/24 Python
python获取远程图片大小和尺寸的方法
2015/03/26 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
Python列表的切片实例讲解
2019/08/20 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
彻底解决Python包下载慢问题
2020/11/15 Python
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
酒店副总岗位职责
2013/12/24 职场文书
亲属关系公证书
2014/04/08 职场文书
会计求职信范文
2014/05/24 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS
Django基础CBV装饰器和中间件
2022/03/22 Python
css3 文字断裂效果
2022/04/22 HTML / CSS