Using PHP to store results of a post request

Posted by Paul M on Stack Overflow See other posts from Stack Overflow or by Paul M
Published on 2009-06-26T09:24:43Z Indexed on 2010/03/27 12:03 UTC
Read the original article Hit count: 429

Filed under:
|
|

Im currently working with an API which requires we send our collection details in xml to their server using a post request.

Nothing major there but its not working, so I want to output the sent xml to a txt file so I can look at actually whats being sent!!

Instead of posting to the API im posting to a document called target, but the xml its outputting its recording seems to be really wrong. Here is my target script, note that the posting script posts 3 items, so the file being written should have details of each post request one after the other.

<?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);
?>

I also tried the following, but this just recorded the last post request so only 1 collection item was recorded in the txt file, instead of all 3

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

I know im missing something really obvious, but ive been looking at this all morning!

© Stack Overflow or respective owner

Related posts about php

Related posts about post-request