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+AJAX实现无刷新注册(带用户名实时检测)
Dec 02 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
php去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
PHP base64编码后解码乱码的解决办法
Jun 19 PHP
php使用google地图应用实例
Dec 31 PHP
PHP 微信支付类 demo
Nov 30 PHP
PHP session 会话处理函数
Jun 06 PHP
php中的登陆login实例代码
Jun 20 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
深入理解PHP中mt_rand()随机数的安全
Oct 12 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 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基于websocket搭建简易聊天室实践
2016/10/24 PHP
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
python字符串连接的N种方式总结
2014/09/17 Python
使用实现pandas读取csv文件指定的前几行
2018/04/20 Python
如何通过Python实现标签云算法
2019/07/02 Python
python列表推导和生成器表达式知识点总结
2020/01/10 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
python语言中有算法吗
2020/06/16 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
出纳工作岗位责任制
2014/02/02 职场文书
小学清明节活动方案
2014/03/08 职场文书
售票员岗位职责
2015/02/15 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
MySQL实现配置主从复制项目实践
2022/03/31 MySQL