您现在的位置是:首页 > web开发 > php执行linux命令的6个函数

php执行linux命令的6个函数

web开发作者:dayu日期:10天前点击:5
  • <?php
  • $test="ls/tmp/test";//ls是linux下的查目录,文件的命令
  • exec($test,$array);//执行命令
  • print_r($array);
  • ?>

  • 返回结果如下:

    1. [root@krlcgcms01shell]#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@krlcgcms01shell]#phpsystem.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. echostream_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@krlcgcms01shell]#phptest.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

    php执行linux命令的6个函数

    原文地址:http://www.cnblogs.com/likui360/p/7212908.html


    下一篇       上一篇