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 缓冲的免费实现方法
Oct 09 PHP
PHP生成静态页面详解
Nov 19 PHP
PHP 创建文件(文件夹)以及目录操作代码
Mar 04 PHP
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
Oct 31 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Jun 17 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
WordPress分页伪静态加html后缀
Jun 08 PHP
php实现微信扫码自动登陆与注册功能
Sep 22 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
PHP检查网站是否宕机的方法示例
Jul 24 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生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
js常用代码段整理
2011/11/30 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
js实现五星评价功能
2017/03/08 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
Python getopt模块处理命令行选项实例
2014/05/13 Python
python中dir函数用法分析
2015/04/17 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python读写csv文件方法详细总结
2019/07/05 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
什么造成了Java里面的异常
2016/04/24 面试题
施工员岗位职责
2014/03/16 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
汽车服务工程专业自荐信
2014/09/02 职场文书
入党现实表现材料
2014/12/23 职场文书
工程部部长岗位职责
2015/02/12 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
总结高并发下Nginx性能如何优化
2021/11/01 Servers
HTML+JS实现在线朗读器
2022/02/15 Javascript
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js