PHP执行linux命令常用函数汇总


Posted in PHP onFebruary 02, 2016

一般情况下,很少会用php去执行linux命令,不过特殊情况下,你也许会用到这些函数。以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec。其实有很多的,结合手册内容,介绍以下6个函数。

1,exec函数

<?php 
$test = "ls /tmp/test"; //ls是linux下的查目录,文件的命令
exec($test,$array); //执行命令
print_r($array);
?>

返回结果如下:

[root@krlcgcms01 shell]# php ./exec.php 
Array 
( 
[0] => 1001.log 
[1] => 10.log 
[2] => 10.tar.gz 
[3] => aaa.tar.gz 
[4] => mytest 
[5] => test1101 
[6] => test1102 
[7] => weblog_2010_09 
)

2,system函数

<?php 
$test = "ls /tmp/test";
$last = system($test);
print "last: $last\n";
?>

返回结果:

[root@krlcgcms01 shell]# php system.php 
1001.log 
10.log 
10.tar.gz 
aaa.tar.gz 
mytest 
test1101 
test1102 
weblog_2010_09 
last:weblog_2010_09

3,passthru函数

<?php 
$test = "ls /tmp/test";
passthru($test);
?>

4,popen函数

<?php 
$test = "ls /tmp/test";
$fp = popen($test,"r"); //popen打一个进程通道

while (!feof($fp)) { //从通道里面取得东西
$out = fgets($fp, 4096);
echo $out; //打印出来
} 
pclose($fp);
?>

5,proc_open函数

<?php 
$test = "ls /tmp/test";
$array = array(
array("pipe","r"), //标准输入 
array("pipe","w"), //标准输出内容 
array("pipe","w") //标准输出错误 
); 
$fp = proc_open($test,$array,$pipes); //打开一个进程通道
echo stream_get_contents($pipes[1]); //为什么是$pipes[1],因为1是输出内容
proc_close($fp);
?>

6,shell_exec函数

<?php 
$test = "ls /tmp/test";
$out = shell_exec($test);
echo $out;
?>

popen,passthru,proc_open,shell_exec的返回结果如下:

[root@krlcgcms01 shell]# php test.php 
1001.log 
10.log 
10.tar.gz 
aaa.tar.gz 
mytest 
test1101 
test1102 
weblog_2010_09

我能发现的就这几个函数,能执行linux下的命令,我想应当还有吧,欢迎大家补充。

PHP 相关文章推荐
PHP在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
destoon出现验证码不显示时的紧急处理方法
Aug 22 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
Apr 08 PHP
PHP通过API获取手机号码归属地
May 28 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
Jun 06 PHP
thinkPHP简单遍历数组方法分析
May 16 PHP
PHP生成静态HTML文档实现代码
Jun 23 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
PHP连接MySQL数据库操作代码实例解析
Jul 11 PHP
必须收藏的23个php实用代码片段
Feb 02 #PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 #PHP
PHP自带方法验证邮箱是否存在
Feb 01 #PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 #PHP
实例详解PHP中html word 互转的方法
Jan 28 #PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
Jan 28 #PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 #PHP
You might like
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
2015/04/30 Javascript
jQuery中Nicescroll滚动条插件的用法
2016/11/10 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
Python 时间处理datetime实例
2008/09/06 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
基于python历史天气采集的分析
2019/02/14 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
python urllib爬虫模块使用解析
2019/09/05 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
Python如何省略括号方法详解
2020/03/21 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
pycharm导入源码的具体步骤
2020/08/04 Python
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
美国休闲服装品牌:Express
2016/09/24 全球购物
JVM是一个编译程序还是解释程序
2012/09/11 面试题
法人授权委托书样本
2014/09/19 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
欢送会主持词
2015/07/01 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python
【海涛dota解说】海涛小满开黑4v5被破两路翻盘潮汐第一视角解说
2022/04/01 DOTA
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android