gpt4 book ai didi

php - file_get_contents 的解析结果 ('php://input' )

转载 作者:可可西里 更新时间:2023-11-01 12:34:17 25 4
gpt4 key购买 nike

我正在使用 file_get_contents('php://input') 从特定网络服务中检索所有 POST 参数/值,例如:

$postText = file_get_contents('php://input');

结果是这样的:

inReplyToId=MG1133&to=61477751386&body=test&from=61477751386&messageId=166594397&rateCode=

然后我需要获取每个单独的键/值对,因为我需要将它们设置到新数据库记录的字段中。例如,我想结束:

$inReplyToId = MG1133
$to = 61477751386
$body = test

一旦我知道了单个值,我就可以在数据库中设置相应的字段。我通常会使用:

if(isset($_POST['inReplyToId']) && $_POST['inReplyToId'] !== '' ) {
$request->setField('_kf_GatewayMessageID', $_POST['inReplyToId']);
}

但这在这种情况下不起作用,因为它不是正在提交的 application/x-www-form-urlencoded 表单。

最佳答案

您可以使用 parse_str解析查询字符串的函数:

$queryString = 'inReplyToId=MG1133&to=61477751386&body=test&from=61477751386&messageId=166594397&rateCode=';
$data = array();
parse_str($queryString, $data);
var_dump($data);

编辑:

For example I would like to end up with:

$inReplyToId = MG1133
$to = 61477751386
$body = test

要获取数组键作为变量,您可以使用 extract :

extract($data);

编辑 2:如果您已经有使用 $_POST 变量和相应索引的代码,您可以将数据与其合并:

$_POST = array_merge($data, $_POST);

但是修改这些变量是不可取的。

关于php - file_get_contents 的解析结果 ('php://input' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17403723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com