user547995
user547995

Reputation: 2085

HTTP PUT Parameter

I create a rest-webservice with the php framework "tonic". I have a User Class and handle it with the library. According to CRUD i use HTTP_PUT to UPDATE the User:

function put($request) {
    $response = new Response($request);
    $split = explode ('&',$request);
    $para = array();

    foreach($split as $i) {
        $names = explode('=',$i);
        $para[$names[0]] = $names[1];
    }
    $response->body = var_dump($para);
    return $response;
}

My Question is how do I access the calling parameters?

At the moment I parse it manually into an array.

Upvotes: 1

Views: 2968

Answers (1)

Damien
Damien

Reputation: 5882

PHP will not translate a classic "application/x-www-form-urlencoded" request into $_POST / $_GET if the method is PUT (and there is no $_PUT).

So if you use this content type you have to parse the query string manually:

<?php
$putdata = fopen("php://input", "r");
$para    = parse_str($putdata);

http://www.php.net/manual/en/features.file-upload.put-method.php

Upvotes: 3

Related Questions