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 相关文章推荐
《APMServ 5.1.2》使用图解
Oct 23 PHP
基于PHP array数组的教程详解
Jun 05 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
php实现window平台的checkdnsrr函数
May 27 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
php ajax数据传输和响应方法
Aug 21 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
PHP7 参数处理机制修改
Mar 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
让的PHP代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
PHP下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
php与Mysql的一些简单的操作
2015/02/26 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
PHP实现函数内修改外部变量值的方法示例
2018/12/28 PHP
JavaScript toFixed() 方法
2010/04/15 Javascript
javascript针对DOM的应用分析(二)
2012/04/15 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
js实现本地时间同步功能
2017/08/26 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
PYTHON发送邮件YAGMAIL的简单实现解析
2019/10/28 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
python3.4中清屏的处理方法
2020/07/06 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
怀俄明州飞钓:Platte River Fly Shop
2017/12/28 全球购物
建筑专业自荐信
2013/10/18 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
优秀教师演讲稿
2014/05/06 职场文书
骨干教师培训方案
2014/05/06 职场文书
纪念九一八事变演讲稿1000字
2014/09/14 职场文书
python 实现体质指数BMI计算
2021/05/26 Python
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers