使用PHP发送自定义HTTP响应


send custom HTTP response with PHP

我想发送一个自定义HTTP响应回一个请求GET到php脚本的应用程序。body是二进制格式(八位元流)。我想知道是否有一个简单的方法来做到这一点?我正在寻找PECL中的HttpResponse类,但现在安装它有麻烦。我真的不需要所有其他的功能,所以我正在寻找一些更简单的。

PHP有一个内置的header()函数,所以你可以自定义你的响应,而不需要额外的库:

<?php
header('Content-Type: application/octet-stream');
header('X-Powered-By: l3utterfly');
echo $binary_data;
?>

您总是可以使用header()函数设置HTTP Headers,然后使用print, echo或任何其他常用方式简单地输出二进制数据。

发送内容类型http头到八位字节流,它应该工作正常。

您可以使用header函数发送回您想要的任何响应。如果您想发送回自定义响应代码,您可以使用:

<?
  $protocol = (isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0');
  //change the code and message to whatever. But I would keep it valid codes so browsers can handle it.
  //see http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
  header($protocol . ' 404 Not Found');
  exit();
?>

如果你想发送二进制数据,将头文件更改为正确的内容类型,并返回二进制数据