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实现与ASP Banner组件相似的类
Oct 09 PHP
PHP 编写大型网站问题集
May 07 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
使用php判断服务器是否支持Gzip压缩功能
Sep 24 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
Jan 07 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
PHP7 新特性详细介绍
Sep 06 PHP
php中的异常和错误浅析
May 03 PHP
Laravel框架处理用户的请求操作详解
Dec 20 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 将bmp图片转为jpg等其他任意格式的图片
2009/06/21 PHP
js function定义函数使用心得
2010/04/15 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
JS实现光滑展开合拢的菜单效果代码
2015/09/16 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
2016/08/24 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
2019/04/30 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
python 函数的缺省参数使用注意事项分析
2019/09/17 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
Numpy数组的广播机制的实现
2020/11/03 Python
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
linux面试相关问题
2013/04/28 面试题
文言文形式的学生求职信
2013/12/03 职场文书
学子宴答谢词
2014/01/25 职场文书
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
求职信内容怎么写
2014/05/26 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书