2

我目前正在使用一个 API,该 API 要求我们使用发布请求将 xml 中的集合详细信息发送到他们的服务器。

那里没什么大不了的,但它不起作用,所以我想将发送的 xml 输出到 txt 文件,这样我就可以查看实际发送的内容!

而不是发布到 API 即时发布到一个名为目标的文档,但输出其记录的 xml 似乎真的是错误的。这是我的目标脚本,请注意发布脚本发布 3 个项目,因此正在写入的文件应该一个接一个地包含每个发布请求的详细信息。

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1);

// get the request data...
$payload = '';
$fp = fopen('php://input','r');
$output_file = fopen('output.txt', 'w');
while (!feof($fp)) {
    $payload .= fgets($fp);
    fwrite($output_file, $payload);
}

fclose($fp);
fclose($output_file);
?> 

我也尝试了以下方法,但这只是记录了最后一个发布请求,因此 txt 文件中只记录了 1 个收集项,而不是全部 3 个

output_file = fopen('output.txt', 'w');
while (!feof($fp)) {
    $payload .= fgets($fp);
}
fwrite($output_file, $payload);
fclose($fp);
fclose($output_file);

我知道我错过了一些非常明显的东西,但我整个早上都在看这个!

4

3 回答 3

0

您可能应该使用 curl 来获取内容,然后通过 fwrite 写入

于 2009-06-26T09:29:06.693 回答
0

改变

  $payload .= fgets($fp);

 $payload = fgets($fp);
于 2009-06-26T10:00:50.873 回答
0

改变

$output_file = fopen('output.txt', 'w');

$output_file = fopen('output.txt', 'a');

还有,改变

$payload .= fgets($fp);

$payload = fgets($fp);
于 2010-03-27T12:21:39.530 回答