Hi Tom,
Die Requestmethode ist doch völlig egal, lass Dich davon nicht verwirren. Wesentlich ist: Sofern ein Messagebody gesendet wurde, gibt es einen Requestheader Content-Length und das heißt, daß Daten aus STDIN zu lesen sind. Was mit PHP selbstverständlich auch möglich ist.
Und sobald es, unabhängig von der Requestmethode, einen QUERY_STRING gibt, parst PHP die Daten und stellt diese Parameter in $_GET bereit.
Also, PUT in PHP verarbeiten: Gemäß Content-Length wird STDIN gelesen (hier ist die Datei die in das Socket geschrieben wurde) und in $_GET stehen die dazugehörigen Parameter (falls gesendet). Einfacher gehts nicht. MFG