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 相关文章推荐
php 正则 过滤html 的超链接
Jun 02 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
Apr 13 PHP
在PHP中PDO解决中文乱码问题的一些补充
Sep 06 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
php获取用户IPv4或IPv6地址的代码
Nov 15 PHP
php获取字段名示例分享
Mar 03 PHP
php读取远程gzip压缩网页的方法
Dec 29 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
php简单计算页面加载时间的方法
Jun 19 PHP
PHP中strpos、strstr和stripos、stristr函数分析
Jun 11 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
Laravel 自定命令以及生成文件的例子
Oct 23 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
apache+php+mysql安装配置方法小结
2010/08/01 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
js下弹出窗口的变通
2007/04/18 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
javascript 中__proto__和prototype详解
2014/11/25 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
python创建学生成绩管理系统
2019/11/22 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
采购部部门职责
2013/12/15 职场文书
工程项目建议书范文
2014/03/12 职场文书
秋天的雨教学反思
2014/04/27 职场文书
优秀德育工作者事迹材料
2014/05/07 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
高二学年自我鉴定范文(2篇)
2014/09/26 职场文书
2014年政工师工作总结
2014/12/18 职场文书
作文批改评语
2014/12/25 职场文书
同学联谊会邀请函
2019/06/24 职场文书
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python