PHP调用系统命令/其他应用程序 并获取应用返回值的方法

PHP应用可以非常简单的调用系统中的任意应用程序并获取其返回值, 即与其他应用程序通信和整合. 使用PHP内置函数 popen, proc_open 函数即可轻松实现, 以下为示例代码:

php 复制代码
<?php
error_reporting(E_ALL);

/* 加入重定向以得到标准错误输出 stderr。 */
$cmd = "/path/to/executable 2>&1";

// 执行命令并返回指针
$handle = popen($cmd, 'rb');
if (!is_resource($handle)) {
	echo "LOCAL ERROR: Unable to run $cmd\n";
	exit;
}
$data = "";
// 循环读取文件指针内的数据
while (!feof($handle)) {
	// fgets 从文件指针中读取一行 默认1024个字节
	$buff = fgets($handle);
	// 附加读取到的数据到 $data
	$data .= $buff;
}
// 关闭指针
pclose($handle);

var_dump($data);

通过 popen, proc_open 函数 即可轻松与系统中的其他应用或者系统命令整合从而实现更加强大的功能和应用.

相关推荐
WHabcwu2 分钟前
统⼀异常处理
java·开发语言
Mr__vantasy4 分钟前
数据结构(初阶6)---二叉树(遍历——递归的艺术)(详解)
c语言·开发语言·数据结构·算法·leetcode
寒雒6 分钟前
【Python】实战:实现GUI登录界面
开发语言·前端·python
山山而川粤10 分钟前
废品买卖回收管理系统|Java|SSM|Vue| 前后端分离
java·开发语言·后端·学习·mysql
李先静27 分钟前
AWTK-WEB 快速入门(1) - C 语言应用程序
c语言·开发语言·前端
zmd-zk1 小时前
flink学习(3)——方法的使用—对流的处理(map,flatMap,filter)
java·大数据·开发语言·学习·flink·tensorflow
圆蛤镇程序猿1 小时前
【什么是SpringMVC】
开发语言
Domain-zhuo1 小时前
JS对于数组去重都有哪些方法?
开发语言·前端·javascript
逝去的紫枫1 小时前
Python Selenium:Web自动化测试与爬虫开发
开发语言·python·selenium
SUN_Gyq1 小时前
什么是 C++ 中的模板特化和偏特化? 如何进行模板特化和偏特化?
开发语言·c++·算法