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 相关文章推荐
在windows iis5下安装php4.0+mysql之我见
Oct 09 PHP
PHP 全角转半角实现代码
May 16 PHP
php 启动报错如何解决
Jan 17 PHP
php阻止页面后退的方法分享
Feb 17 PHP
php数组查找函数总结
Nov 18 PHP
深入解析WordPress中加载模板的get_template_part函数
Jan 11 PHP
Zend Framework框架路由机制代码分析
Mar 22 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
Dec 20 PHP
php下的原生ajax请求用法实例分析
Feb 28 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 cli换行示例
2014/04/22 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
PHP7变量处理机制修改
2021/03/09 PHP
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
详解webpack打包第三方类库的正确姿势
2018/10/20 Javascript
vue多次循环操作示例
2019/02/08 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
js实现秒表计时器
2019/12/16 Javascript
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
python爬取网易云音乐评论
2018/11/16 Python
Django对models里的objects的使用详解
2019/08/17 Python
如何基于python操作excel并获取内容
2019/12/24 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
Internet主要有哪些网络群组成
2015/12/24 面试题
最新的互联网创业计划书
2014/01/10 职场文书
领导调研接待方案
2014/02/27 职场文书
酒店管理求职信范文
2014/04/06 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
廉洁校园实施方案
2014/05/25 职场文书
承诺书范文
2014/06/03 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
早上好问候语大全
2015/11/10 职场文书
2016年中学植树节活动总结
2016/03/16 职场文书