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 相关文章推荐
Windows下的PHP5.0详解
Nov 18 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
ionCube 一款类似zend的PHP加密/解密工具
Jul 25 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 PHP
php页面跳转代码 输入网址跳转到你定义的页面
Mar 28 PHP
php实现监控varnish缓存服务器的状态
Dec 30 PHP
PHP使用CURL模拟登录的方法
Jul 08 PHP
php使用正则验证中文
Apr 06 PHP
php 从一个数组中随机的取出若干个不同的数实例
Dec 31 PHP
Paypal实现循环扣款(订阅)功能
Mar 23 PHP
PHP用continue跳过本次循环中剩余代码的注意点
Jun 27 PHP
PHP使用OB缓存实现静态化功能示例
Mar 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
PHP编码规范-php coding standard
2007/03/16 PHP
php的一个登录的类 [推荐]
2007/03/16 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
php获取apk包信息的方法
2014/08/15 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
JQuery 弹出框定位实现方法
2010/12/02 Javascript
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
js+html5实现复制文字按钮
2017/07/15 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
python中 logging的使用详解
2017/10/25 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python 实现微信防撤回功能
2019/04/29 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
python代码中怎么换行
2020/06/17 Python
详解python安装matplotlib库三种失败情况
2020/07/28 Python
python基于openpyxl生成excel文件
2020/12/23 Python
竞赛口号大全
2014/06/16 职场文书
任命书格式模板
2015/09/22 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
《正比例》教学反思
2016/02/23 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL