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维护文件系统
Oct 09 PHP
php 上传功能实例代码
Apr 13 PHP
PHP 开发环境配置(测试开发环境)
Apr 28 PHP
PHP安全性漫谈
Jun 28 PHP
PHP系统命令函数使用分析
Jul 05 PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
PHP运行模式汇总
Nov 06 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 PHP
php成功操作redis cluster集群的实例教程
Jan 13 PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 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中的登陆login
2007/01/18 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
php获取淘宝分类id示例
2014/01/16 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
不安全的常用的js写法
2009/09/15 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
在JavaScript中使用timer示例
2014/05/08 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python遍历一个目录,输出所有的文件名的实例
2018/04/23 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
详解python多线程之间的同步(一)
2019/04/03 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
python实现KNN分类算法
2019/10/16 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
药物学专业学生的自我评价
2013/10/27 职场文书
小组合作学习反思
2014/02/18 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
三人合伙协议书范本
2014/10/29 职场文书
世界气象日活动总结
2015/02/27 职场文书
学生保证书格式
2015/02/27 职场文书
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android