如何将文本附加到 Web 服务器上的文件?

Alb*_*ssi 3 delphi freepascal indy

我使用的是 Lazarus 1.0.8(最新版本),并且已经安装了 Indy 10。我还有一个带有 PHP 脚本的网站,该脚本在服务器上保存一个文本文件(称为“stats.txt”)。我想使用我的程序上传另一个文本文件,其中包含统计文本+我在备忘录中写入的新文本。我不想让你为我编写代码,只是你能给我一个关于我该怎么做的建议吗?

我想我可以下载备忘录中“stats.txt”的内容,然后再次上传,但添加新文本。有没有更好的办法?

Rob*_*edy 5

执行此操作的最佳方法取决于服务器提供的功能。如果服务器有某种“追加”命令,您可以使用该命令和新文本发出请求,并让服务器更新其数据。检查服务器软件的文档。

它可能会提供一个 URL,您可以使用 POST 命令将数据发送到该 URL。Indy 的TIdHTTP组件有一个Post方法;您可以提供 URL 和文本数据,它将负责建立 HTTP 连接、发送数据并解释任何响应。


如果服务器只提供查询整个文本并接收整个文本的方法,那么您别无选择,只能执行问题中描述的操作:下载所有数据,在本地修改它,然后更新服务器。

获取当前版本的数据可能会涉及 GET 请求。Indy 的TIdHTTP组件提供了多种Get获取 URL 并以字符串或流形式返回数据的方法。

修改数据后,您可能会发现可以发出 POST 请求或 PUT,并包含更新的数据。