我正在使用一个简单的HTML表单以cat > chromium.gyp_env <<EOF
{
"GYP_DEFINES": "OS=ios chromium_ios_signing=0",
"GYP_GENERATORS": "ninja,xcode-ninja",
}
EOF
格式发送http发布请求,并且我正尝试使用 PHP
这是我想到的 PHP 代码:
key1=value1&key2=value2&key3=value3&key4=value4&key5=value5
,但仅创建文件“ data.txt”,而不将任何值添加到文本文件中
我在做什么错了?
答案 0 :(得分:1)
即使请求方法是POST,也应使用$_GET
访问查询字符串参数。
此外,索引data1
,data2
,data3
,data4
和data5
在请求中不存在。
fwrite
最多接受3个参数。
最终代码应如下:
<?php
$data1 = $_REQUEST['key1'];
$data2 = $_REQUEST['key2'];
$data3 = $_REQUEST['key3'];
$data4 = $_REQUEST['key4'];
$data5 = $_REQUEST['key5'];
$fp = fopen('data.txt', 'a');
fwrite($fp, implode("\n", [$data1, $data2, $data3, $data4, $data5]));
fclose($fp);
答案 1 :(得分:0)
更改
fwrite($fp, $_POST['data1'], $_POST['data2'], $_POST['data3'], $_POST['data4'], $_POST['data5']);
收件人
fwrite($fp, "$data1,$data2,$data3,$data4,$data5");
您定义的所有“数据”变量都是个人变量,它们不是$ _POST数组的一部分。
并且fwrite期望单个数据字符串而不是一组单独的数据,因此您需要将它们串联在一起。我在它们之间加上了逗号,因此您有一定的机会将它们区分开,但是显然您可以根据自己的要求进行更改。文档:https://www.php.net/manual/en/function.fwrite.php
P.S。如果您的变量是通过URL查询字符串(而不是请求的正文)发送的,则需要使用$ _GET来检索它们,如下所示:
$data1 = $_GET['key1'];
$data2 = $_GET['key2'];
$data3 = $_GET['key3'];
$data4 = $_GET['key4'];
$data5 = $_GET['key5'];