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 函数 即可轻松与系统中的其他应用或者系统命令整合从而实现更加强大的功能和应用.

相关推荐
H.莓飛4 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu1145 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
爱喝水的鱼丶6 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
小灰灰搞电子6 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
外收内放6 小时前
面向对象高级(实战案例)
开发语言·python·学习
fanruitian7 小时前
python else用法
开发语言·python
FRing038 小时前
JavaScript入门到精通二十六(变量提升、函数剩余参数、展开运算符、ES6箭头函数)
开发语言·前端·javascript·es6·箭头函数
云深麋鹿8 小时前
C++ | 基于红黑树实现mymap与myset
开发语言·c++
ITxiaobing20238 小时前
海外广告投放的 IP 定位服务怎么选?一份基于实测数据的选型参考
网络协议·tcp/ip·php
weixin_417396838 小时前
桌面云终端PXE启动失败怎么排查?从DHCP Option到镜像下发
开发语言·前端·php·技术·酒店·综合布线·弱电