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的宝库目录--PEAR
Oct 09 PHP
用PHP调用Oracle存储过程
Oct 09 PHP
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
解决MySQL中文输出变成问号的问题
Jun 05 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
PHPUnit安装及使用示例
Oct 29 PHP
php截取字符串函数分享
Feb 02 PHP
php上传图片客户端和服务器端实现方法
Mar 30 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
thinkPHP框架实现的无限回复评论功能示例
Jun 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
通过html表格发电子邮件
2006/10/09 PHP
php cookis创建实现代码
2009/03/16 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
javascript实现在指定元素中垂直水平居中
2015/09/13 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
2017/09/21 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
2020/04/24 Javascript
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
python flask实现分页效果
2017/06/27 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
2018/05/17 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
python批量修改图片大小的方法
2018/07/24 Python
Python Requests库基本用法示例
2018/08/20 Python
python按照多个条件排序的方法
2019/02/08 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
会计毕业生求职简历的自我评价
2013/10/20 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
企业委托书范本
2014/09/13 职场文书
老公保证书怎么写
2015/02/26 职场文书
追悼会家属答谢词
2015/09/29 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis