php 执行部命令exec() system() passthru()

通常用c写一个外部小程序,然后使用上述命令可以在php中调用

1. exec()

string exec ( string $command [, array &$output [, int &$return_var ]] )

$command要执行的外部程序

$output 会把程序中所有的输出结果输出到该数组中;如c中的printf(); 可以利用这个往外部返多个值;

$return_var 该程序执行结果的返回值;比对 C程序中 的return 0;

string 返回值即程序输出的最后一个行,即最后一个printf()

如下示例:

test.c

#include <stdio.h>

int main(int argc, const char * argv[]) {
if (argc==) {
printf("this is parm %s\n",argv[]);
}
printf("Hello, World!\n");
return ;
}

编译test.c到可执行文件

cocoaPro:Desktop cocoajin$ gcc -o test main.c
cocoaPro:Desktop cocoajin$ ./test ppp
this is parm ppp
Hello, World!
cocoaPro:Desktop cocoajin$ ls |grep test
test
cocoaPro:Desktop cocoajin$

test.php

<?php 

        echo "hello world from php <br>";
exec("./test 'aaa'", $outArry,$dret); echo $dret.'<br>'; echo var_dump($outArry); ?>

访问test.php输出

hello world from php
0
array(2) { [0]=> string(16) "this is parm aaa" [1]=> string(13) "Hello, World!" }

注意上面的test 程序,如果php的环境是linux的,就要用linux下的gcc编译,winddows环境,就要用win下的gcc编译;

在linux下编译的test程序,在win下是不能用的

2.system()

string system ( string $command [, int &$return_var ] )

$command 要执行的命令

$return_var 程序的返回值;即C程序中的return值0;

string 函数返回值是,程序执行的最后一行输出;

3. passthru()

void passthru ( string $command [, int &$return_var ] )

$command 要执行的命令

$return_var 程序的返回值;即C程序中的return值0;

无返回值;

总结:

这几个命令功能真强大,php结合C,可以做很多事情了!

参考:http://php.net/manual/zh/function.exec.php

php 执行外部命令exec() system() passthru()的更多相关文章

  1. php -- PHP在linux上执行外部命令,system(),exec(),shell_exec()

    目录:一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,有三种方法: 1. 调用专门函 ...

  2. golang os/exec 执行外部命令

    exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (st ...

  3. PHP在linux上执行外部命令

    PHP在linux上执行外部命令 一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以 ...

  4. php在linux中执行外部命令

    目录:一.PHP中调用外部命令介绍二.关于安全问题三.关于超时问题四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍在PHP中调用外部命令,可以用,1>调用专门函数. ...

  5. PHP执行外部命令【转】

    PHP是完全支持外部命令的,但是出于安全考虑,一般很少使用. PHP提供共了3种方法调用外部命令: (1)调用执行外部命令函数(system(),exec(),passthru(),shell_exe ...

  6. Linux培训教程 浅谈:PHP在linux上执行外部命令(整理)

    一.PHP中调用外部命令介绍 二.关于安全问题 三.关于超时问题 四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用专门函数 ...

  7. Java中执行外部命令

    在项目中执行一个linux的shell脚本,于是需要在java环境下执行外部命令如系统命令.linux命令的需求,本人小小研究了一下,又上网查了一些资料先整理如下. java执行外部命令主要依赖两个类 ...

  8. php执行外部命令

    php执行外部命令的不少,例如:exec.shell_exec.system.popen等.我特意的讲一下popen,它跟其他函数不太一样,其他函数执行一个命令后,会等待其返回后,再向下执行,而pop ...

  9. Java 学习笔记 执行外部命令 包装类 枚举类型

    执行外部命令 Runtime只能通过静态方法getRuntime获得,可以用来执行外部的命令 Runtime runtime = Runtime.getRuntime(); runtime.exec( ...

随机推荐

  1. Codeforces Round #260 (Div. 2) C

    Description Alex doesn't like boredom. That's why whenever he gets bored, he comes up with games. On ...

  2. Android的消息处理机制Looper,Handler,Message

    android的消息处理有三个核心类:Looper,Handler和Message.其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因 ...

  3. Repeater的Command操作

    Repeater的Command操作 1.ItemCommand事件 :在Repeater中所有能触发事件的控件,都会来触发这一个事件 后台创建:在Page_Load中 Repeater1.ItemC ...

  4. shell中awk用法

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  5. Mysql基础语法

    mysql SELECT VERSION(), CURRENT_DATE, now();select user(); create database pets;show databases; use ...

  6. web应用中web.xml配置详解

    Web.xml常用元素 <web-app> <display-name></display-name>定义了WEB应用的名字 <description> ...

  7. STREAM Benchmark

    STREAM Benchmark及其操作性能分析 文/raywill STREAM 是业界广为流行的综合性内存带宽实际性能 测量 工具之一.随着处理器处理核心数量的增多,内存带宽对于提升整个系统性能越 ...

  8. Nodejs之socket广播

    nodejs发送udp广播还是蛮简单的,我们先写个服务器用于接收广播数据,代码如下: var dgram = require("dgram"); var server = dgra ...

  9. TeeChart中 Line的Clear方法

    需要注意的是,如果设置了Line.Smoothed=true; 那么调用Clear是无效的,虽然清除了曲线上的点. 但是界面上的曲线,并没有消失. 所以,在每一次Line.Clear();之前,必须确 ...

  10. 用PyAIML开发简单的对话机器人

    AIML files are a subset of Extensible Mark-up Language (XML) that can store different text patterns ...