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 相关文章推荐
什么是MVC,好东西啊
May 03 PHP
php+mysql 实现身份验证代码
Mar 24 PHP
PHP基础陷阱题(变量赋值)
Sep 12 PHP
一个简洁的PHP可逆加密函数(分享)
Jun 06 PHP
深入php self与$this的详解
Jun 08 PHP
PHP的引用详解
Feb 22 PHP
PHP中大于2038年时间戳的问题处理方案
Mar 03 PHP
CodeIgniter中使用Smarty3基本配置
Jun 29 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 PHP
PHP7新功能总结
Apr 14 PHP
PHP7 新增功能
Mar 09 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中mysql模块部分功能的简单封装
2011/09/30 PHP
解析coreseek for sphinx的使用
2013/06/21 PHP
php多文件上传下载示例分享
2014/02/20 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
javascript 精粹笔记
2010/05/09 Javascript
你的 mixin 真的兼容 ECMAScript 5 吗?
2013/04/11 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
微信小程序返回上一页传参并刷新过程解析
2019/12/13 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
2020/04/04 jQuery
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Django中login_required装饰器的深入介绍
2017/11/24 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
用python处理MS Word的实例讲解
2018/05/08 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
python对execl 处理操作代码
2020/06/22 Python
Europcar澳大利亚官网:全球汽车租赁领域的领导者
2019/03/24 全球购物
印度民族服装购物网站:BIBA
2019/08/05 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
培训主管岗位职责
2014/02/01 职场文书
2014年工商所工作总结
2014/12/09 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python