PHP后台怎么接收post请求的参数
1、$_POST['paramName'] 只有在Content-Type为application/x-www-form-urlencoded或者为multipart/form-data的 时候,PHP才会将http请求数据包中的body相应部分数据填入$_POST全局变量中,其它情况PHP都忽略。填入到$_POST数组中的数据是进行urldecode()解析的结果。
2、file_get_contents("php://input") 适用大多数类型的Content-type
php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。
3、$GLOBALS['HTTP_RAW_POST_DATA']; 总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。
如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。需要设置php.ini中的always_populate_raw_post_data值为On,PHP才会总把POST数据填入变 量$http_raw_post_data。
看官方文档,在高版本里,这个变量$HTTP_RAW_POST_DATA被弃用了
This feature wasDEPRECATEDin PHP 5.6.0, andREMOVEDas of PHP 7.0.0. In general,php://inputshould be used instead of$HTTP_RAW_POST_DATA.
php怎么对接各种API
要对接各种API,首先需要在PHP中使用合适的库或扩展来处理API请求和响应。以下是一些常用的PHP库和扩展:
1. cURL:cURL是一个功能强大的开源库,用于发送和接收HTTP请求。可以使用cURL库来处理API请求和获取API响应。
2. Guzzle:Guzzle是一个基于cURL构建的HTTP客户端库,它提供了简单且直观的API来处理HTTP请求和响应。Guzzle可以用于与各种API进行交互。
3. HTTP扩展:PHP的HTTP扩展(HTTP extension)是一个提供了一系列用于处理HTTP请求和响应的函数的PHP扩展。可以使用HTTP扩展中的函数来处理API请求和获取API响应。
使用上述库或扩展的一般步骤如下:
1. 引入相关的库或扩展:在PHP代码中引入所需的库或扩展,以便可以使用其功能。
2. 创建API请求:根据API的要求,构建一个HTTP请求,包括请求URL、请求方法(GET、POST等)、请求头和请求体等。
3. 发送API请求:使用库或扩展提供的函数或方法,发送请求到API的URL,并获取API的响应。
4. 处理API响应:根据API返回的数据格式(如JSON、XML等),解析API的响应,并根据需要进行处理和提取所需的数据。
请注意,对接不同的API可能有一些特定的要求和步骤,因此具体实现可能会因API的不同而有所不同。建议在与特定API对接时,参考对应的API文档或官方指南,以了解有关使用特定API库或扩展的详细信息和操作指南。

