PHP执行linux命令6个函数代码实例


Posted in PHP onNovember 24, 2020

一般情况下,很少会用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 相关文章推荐
使用 MySQL 开始 PHP 会话
Dec 21 PHP
附件名前加网站名
Mar 23 PHP
php xml留言板 xml存储数据的简单例子
Aug 24 PHP
自动把纯文本转换成Web页面的php代码
Aug 27 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
php中inlcude()性能对比详解
Sep 16 PHP
深入分析php之面向对象
May 15 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
php版微信小店API二次开发及使用示例
Nov 12 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
Apr 09 PHP
PHP基于curl模拟post提交json数据示例
Jun 22 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
Sep 16 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 #PHP
Thinkphp极验滑动验证码实现步骤解析
Nov 24 #PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 #PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
Nov 22 #PHP
php操作redis命令及代码实例大全
Nov 19 #PHP
PHP实现倒计时功能
Nov 16 #PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 #PHP
You might like
用PHP开发GUI
2006/10/09 PHP
php 获取客户端的真实ip
2009/11/30 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
限制文本框输入N个字符的js代码
2010/05/13 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
用python实现面向对像的ASP程序实例
2014/11/10 Python
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
linux环境中没有网络怎么下载python
2019/07/07 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
物理教育专业毕业生推荐信
2013/11/03 职场文书
顶岗实习接收函
2014/01/09 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
征兵宣传标语
2014/06/20 职场文书
开服装店计划书
2014/08/15 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
教师自我剖析材料范文
2014/09/30 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书