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

相关推荐
catchadmin11 分钟前
PHP 8.5 #[\NoDiscard] 揪出“忽略返回值“的 Bug
php
hqwest18 分钟前
码上通QT实战10--监控页面02-绘制温度盘
开发语言·qt·自定义控件·qwidget·提升部件·qt绘图
m0_6265352025 分钟前
快速排序学习 l方法 h方法
开发语言·python
superman超哥38 分钟前
Rust String与&str的内部实现差异:所有权与借用的典型案例
开发语言·后端·rust·rust string·string与str·内部实现·所有权与借用
xiaowu08038 分钟前
C#调用 C++ DLL 加载地址方式选择
开发语言·c++·c#
非凡ghost1 小时前
MPC-QT视频播放器(基于Qt框架播放器)
开发语言·windows·qt·音视频·软件需求
转基因1 小时前
C++的IO流
开发语言·c++
一碗绿豆汤1 小时前
Java语言概述和开发环境-1
java·开发语言
愈努力俞幸运1 小时前
rust安装
开发语言·后端·rust
天天进步20151 小时前
【Nanobrowser源码分析4】交互篇: 从指令到动作:模拟点击、滚动与输入的底层实现
开发语言·javascript·ecmascript