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

相关推荐
Felven9 小时前
C. Brr Brrr Patapim
c语言·开发语言
路溪非溪11 小时前
python标准库使用总结
开发语言·python
SomeOtherTime12 小时前
Rust 面向对象介绍(AI回答)
开发语言·python·rust
zh_xuan12 小时前
kotlin常见面试题
开发语言·kotlin·面试题
xbzb13 小时前
从零容器化部署 ECShop:Harbor 私有仓库 + 自定义 PHP 镜像 + LNMP 三容器
容器·php·harbor·镜像·仓库·ecshop
草莓熊Lotso14 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
huaqianzkh15 小时前
WinForm C#:循环修改控件UI闪烁卡顿?SuspendLayout / ResumeLayout 与 BeginUpdate 优化
开发语言·ui·c#
沐晓时光1 天前
C语言入门,内存函数知识讲解
c语言·开发语言
David猪大卫1 天前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
fengci.1 天前
CTF2MISC中等部分
开发语言·前端·学习