(转载)
作者:海底苍鹰
地址:http://blog.51yip.com/php/1064.html

1,exec函数

  1. <?php
  2. $test = "ls /tmp/test";   //ls是linux下的查目录,文件的命令
  3. exec($test,$array);       //执行命令
  4. print_r($array);
  5. ?>

返回结果如下:

  1. [root@krlcgcms01 shell]# php ./exec.php
  2. Array
  3. (
  4. [0] => 1001.log
  5. [1] => 10.log
  6. [2] => 10.tar.gz
  7. [3] => aaa.tar.gz
  8. [4] => mytest
  9. [5] => test1101
  10. [6] => test1102
  11. [7] => weblog_2010_09
  12. )

2,system函数

  1. <?php
  2. $test = "ls /tmp/test";
  3. $last = system($test);
  4. print "last: $last\n";
  5. ?>

返回结果:

  1. [root@krlcgcms01 shell]# php system.php
  2. 1001.log
  3. 10.log
  4. 10.tar.gz
  5. aaa.tar.gz
  6. mytest
  7. test1101
  8. test1102
  9. weblog_2010_09
  10. last:weblog_2010_09

3,passthru函数

  1. <?php
  2. $test = "ls /tmp/test";
  3. passthru($test);
  4. ?>

4,popen函数

  1. <?php
  2. $test = "ls /tmp/test";
  3. $fp = popen($test,"r");  //popen打一个进程通道
  4. while (!feof($fp)) {      //从通道里面取得东西
  5. $out = fgets($fp, 4096);
  6. echo  $out;         //打印出来
  7. }
  8. pclose($fp);
  9. ?>

5,proc_open函数

  1. <?php
  2. $test = "ls /tmp/test";
  3. $array =   array(
  4. array("pipe","r"),   //标准输入
  5. array("pipe","w"),   //标准输出内容
  6. array("pipe","w")    //标准输出错误
  7. );
  8. $fp = proc_open($test,$array,$pipes);   //打开一个进程通道
  9. echo stream_get_contents($pipes[1]);    //为什么是$pipes[1],因为1是输出内容
  10. proc_close($fp);
  11. ?>

6,shell_exec函数

  1. <?php
  2. $test = "ls /tmp/test";
  3. $out = shell_exec($test);
  4. echo $out;
  5. ?>

popen,passthru,proc_open,shell_exec的返回结果如下:

  1. [root@krlcgcms01 shell]# php test.php
  2. 1001.log
  3. 10.log
  4. 10.tar.gz
  5. aaa.tar.gz
  6. mytest
  7. test1101
  8. test1102
  9. weblog_2010_09

我能发现的就这几个函数,能执行linux下的命令,我想应当还有吧,欢迎大家补充

php 系统命令执行函数的更多相关文章

  1. 菜刀(代码执行)函数和命令执行函数详解及Getshell方法

    i春秋作家:大家奥斯的哦 原文来自:https://bbs.ichunqiu.com/thread-41471-1-1.html 代码执行函数 VS 命令执行函数 一直想整理这两块的内容,但是一直没时 ...

  2. php中代码执行&&命令执行函数

    转自i春秋 1.eval()函数 #传入的参数必须为PHP代码,既需要以分号结尾. #命令執行:cmd=system(whoami); #菜刀连接密码:cmd <?php @eval($_POS ...

  3. php调用系统命令的函数的比较

    了解命令的区别并进行直观的选择 这是一篇翻译文章,原作者通过表格的形式更加直观的展现出差异并进行选择 前言 PHP有众多调用系统命令的函数,大致如下: system() exec() passthru ...

  4. PHP表单处理、会话管理、文件上传、文件处理、执行函数(10.8 第十六天)

    表单处理 服务器接收用户发过来的数据方式: $_GET 接收用户以GET方式发过来的数据 $_POST 接收用户以POST方式发过来的数据 $_COOKIE 接收用户COOKIE $_REQUEST ...

  5. 【随笔】菜刀(代码执行)函数和命令执行函数详解及Getshell方法

    代码执行函数 VS 命令执行函数 一直想整理这两块的内容,但是一直没时间弄,直到前两天碰上一个写入了菜刀马但是死活连不上菜刀的站,顿时不知道怎么继续了,所以就趁这个机会整理了一下代码执行函数怎么get ...

  6. pikachu RCE远程系统命令执行

    远程系统命令执行 一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口比如我们常见的路由器.防火墙.入侵检测等设备的web管理界面上一般会给用户提供一个ping操作的web界 ...

  7. 立即执行函数表达式(IIFE)

    原文地址:benalman.com/news/2010/11/immediately-invoked-function-expression/ 译者:nzbin 也许你还没有注意到,我是一个对术语比较 ...

  8. 【repost】js中(function(){…})()立即执行函数写法理解

    摘要: javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解. ...

  9. javascript中的自执行函数

    学习es6的时候遇到了自执行函数,感觉有必要写下来,一方面加深自己的记忆,另一方面还能分享给大家. 什么是自执行函数? 自执行函数就是为了不污染全局变量命名空间的一中匿名函数,相当于自己创建了一个作用 ...

随机推荐

  1. Tencent 的电话面试

    Tencent的实习生招聘投了简历.然后,万万没想到昨晚腾讯IEG直接给我电话了.当时就惊呆了,我都没有找人内推,就直接电话面试了. 就为昨晚的电话面试写写感想吧!问的挺多的,基本上简历上写了的都问到 ...

  2. JS异步加载的三种方式

    js加载的缺点:加载工具方法没必要阻塞文档,过得js加载会影响页面效率,一旦网速不好,那么整个网站将等待js加载而不进行后续渲染等工作. 有些工具方法需要按需加载,用到再加载,不用不加载,. 默认正常 ...

  3. angularJS之$watch、$digest和$apply方法

    最近项目上使用了比较多的angular JS,一直都对它感觉比较陌生,总觉得有点反直觉,这段时间,准备下定决心弄明白,这个框架到底是怎么一回事,以及它的工作原理,生命周期……一点一点的啃完它吧.首先, ...

  4. EXT实现表格斑马线

    Ext.grid.GridPanel 单双行颜色样式(斑马线)2014-04-03 11:25 1078人阅读 评论(0) 收藏 举报分类:ExtJs(36)Ext.grid.GridPanel st ...

  5. 291. Word Pattern II

    题目: Given a pattern and a string str, find if str follows the same pattern. Here follow means a full ...

  6. RHEL7.2下netcat工具安装教程

    1.下载 下载地址:http://sourceforge.net/projects/netcat/files/netcat/0.7.1/(下载的是netcat-0.7.1.tar.gz版本) 2.解压 ...

  7. Line Search and Quasi-Newton Methods 线性搜索与拟牛顿法

    Gradient Descent 机器学习中很多模型的参数估计都要用到优化算法,梯度下降是其中最简单也用得最多的优化算法之一.梯度下降(Gradient Descent)[3]也被称之为最快梯度(St ...

  8. 存根类STUB

    当我们创建一个指定各种方法集合的接口时,我们可以考虑使用"存根”STUB,“存根”就是用空方法体实现该接口中所有方法的类,这样我们就可以通过继承该“存根”创建一个实现该接口的类,这样一来,该 ...

  9. 利用SOLR搭建企业搜索平台 之——solr配置solrconfig.xml

    来源:http://blog.csdn.net/zx13525079024/article/details/25310781 solrconfig.xml配置文件主要定义了SOLR的一些处理规则,包括 ...

  10. XTU -1231 人生成就 (dp + 记录最优解的个数)

    http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1231 直接递推. 在保存最大值的时候同时保存有多少条到达最大值的路径,注意 ...