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 mysql索引问题
Jun 07 PHP
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
关于初学PHP时的知识积累总结
Jun 07 PHP
php ZipArchive压缩函数详解实例
Nov 06 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
Oct 30 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
Jun 13 PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
PHP实现微信提现功能
Sep 30 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
Yii框架where查询用法实例分析
Oct 22 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用strstr()函数阻止垃圾评论(通过判断a标记)
2013/09/28 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
php使用google地图应用实例
2014/12/31 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
2013/05/13 Javascript
详解Bootstrap插件
2016/04/25 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
angularJS模态框$modal实例代码
2017/05/27 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
Vue退出登录时清空缓存的实现
2019/11/12 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
Python队列的定义与使用方法示例
2017/06/24 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python中实现控制小数点位数的方法
2019/01/24 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
营销总监岗位职责
2014/09/16 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
创业计划书之酒厂
2019/10/14 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
Django分页器的用法你都了解吗
2021/05/26 Python
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫