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
给初学者的30条PHP最佳实践(荒野无灯)
Aug 02 PHP
8个必备的PHP功能实例代码
Oct 27 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
Mar 26 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
Yii2.0预定义的别名功能小结
Jul 04 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
Feb 17 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 PHP
设定php简写功能的方法
Nov 28 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 PHP
详解Laravel服务容器的优势
May 29 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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
PHP数字格式化
2006/12/06 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
php计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
php新浪微博登录接口用法实例
2014/12/23 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
JS实现的N多简单无缝滚动代码(包含图文效果)
2015/11/06 Javascript
动态JavaScript所造成一些你不知道的危害
2016/09/25 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
解决vue单页面 回退页面 keeplive 缓存问题
2020/07/22 Javascript
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
详解爬虫被封的问题
2019/04/23 Python
Django Admin中增加导出Excel功能过程解析
2019/09/04 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
物理教育专业毕业生推荐信
2013/11/03 职场文书
经理助理岗位职责
2014/03/05 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
离职感谢信怎么写
2015/01/22 职场文书
优秀团员个人总结
2015/02/26 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技