In a recent post to his blog Giorgio Sironi takes a look at HTTP "verbs" and their handling in PHP, both on the incoming and outgoing sides.
While PHP is capable of performing HTTP requests towards external servers with any method, either via the HTTP extension or by opening streams directly, the support of the various GET, POST, PUT and other verbs on the receiving side of HTTP requests is a bit more complicated.
He notes that the "more interesting" ones are defined in the HTTP 1.1 spec and, unfortunately, those are ones not natively supported by PHP (like POST and GET are). He recommends a workaround for the problem so you can still work with data that clients PUT or DELETE - using a fopen call to the "php://input" stream on the connection and pulling in the raw data. Not idea, but definitely functional.