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

相关推荐
qq_18735263419 分钟前
马踏棋盘c++
开发语言·c++·马踏棋盘c++
巭犇24 分钟前
c语言中define使用方法
c语言·开发语言
qing_04060341 分钟前
C++——string的了解和使用
开发语言·c++·string
The Straggling Crow1 小时前
go 战略
开发语言·后端·golang
ai安歌1 小时前
【JavaWeb】利用IDEA2024+tomcat10配置web6.0版本搭建JavaWeb开发项目
java·开发语言·后端·tomcat·web·intellij idea
尘浮生1 小时前
Java项目实战II基于Java+Spring Boot+MySQL的作业管理系统设计与实现(源码+数据库+文档)
java·开发语言·数据库·spring boot·后端·mysql·spring
Alphapeople1 小时前
Qt中的延时
开发语言·qt
奇点 ♡1 小时前
【线程】线程的控制
linux·运维·c语言·开发语言·c++·visual studio code
鸡c1 小时前
brpc的简单使用
开发语言·qt
八了个戒2 小时前
【TypeScript入坑】什么是TypeScript?
开发语言·前端·javascript·面试·typescript