php 将自定义数据发送到 php web 服务器并保存到文件

Posted

技术标签:

【中文标题】php 将自定义数据发送到 php web 服务器并保存到文件【英文标题】:php Send custom data to php web server and save it to file 【发布时间】:2016-10-31 21:51:54 【问题描述】:

我知道在请求网页时,有不同的请求方式。获取、发布、放置、修补、删除等等。 但我想知道如何将包含多行的文本文件发送到 php Web 服务器,并让该服务器捕获并保存消息?我设法用 1 行来做到这一点,看起来像这样:

GET /SECRET-MESSAGE HTTP/1.1" 404 2306

但这只会让我请求一个不存在的目录,而且多行会出现问题,这使得这种方法非常愚蠢。

我受到video 的启发,他在其中展示了橡皮鸭向 php 网络服务器发送某种自定义请求。 (不,我不会窃取密码)我不完全确定它执行什么类型的请求,或者它如何将数据发送到服务器。 然后服务器通过执行以下代码捕获它:

file_put_contents($file, file_get_contents("php://input"));

但我根本无法让它工作。 当我查找文件时,它显示 0 字节并且不包含任何内容。

我目前使用的代码是这样的

$file = "log/" . date("m.d.y") . "/[" . $_SERVER['REMOTE_ADDR'] . "] " . date("H:i:s") . ".lll";
$content = file_get_contents("php://input");
file_put_contents($file, $content);

权限没有问题,因为我已经用其他一些文本进行了测试,并且我已将所有权限设置为所有人:“0777” 我想这样做的原因是制作一种文本保存云,我可以将笔记发送到我的服务器。如果我记得我想写下的东西,我可以将它发送到服务器,然后再查找。

我在这里做错了什么或没有注意到吗? 请帮忙。

【问题讨论】:

因为GET 请求没有“正文”,所以php://input 没有可读取的内容。 那么我需要做什么?而是 POST 吗? 【参考方案1】:

php://input 从 POST 请求的请求正文中读取

http://php.net/manual/en/wrappers.php.php

【讨论】:

我使用了一个名为Postman 的程序。写入您的网站/IP 并作为 POST 发送。然后去body,选择RAW。这样,您将能够将原始数据发送到服务器,因此它将记录数据。这只是众多方法中的一种,主要是测试是否可行。进一步,我将创建一个 c# 程序,它以正确的方式执行此操作。谢谢。

以上是关于php 将自定义数据发送到 php web 服务器并保存到文件的主要内容,如果未能解决你的问题,请参考以下文章

php [ShipStation]将自定义字段数据导出到ShipStation

使用 Laravel 8(和 Jetstream)将自定义数据传递到 login.blade.php

OpsWorks 厨师将自定义 json 部署到 php

php 将自定义列添加到管理表

php 将自定义字段内容添加到菜单项

php 将自定义字段中的架构数据插入header.php