を使用してファイル内のputリクエストを読み取ることができることを知っています
file_get_contents("php://input");
しかし、putリクエストでファイル名を取得するにはどうすればよいですか?
ファイル名はリクエストの一部として送信されません。サーバー側でファイル名を取得する場合は、他の方法、つまりクエリパラメータでファイル名を渡す必要があります。
PUTメソッドサポートページのようにPUTを使用している場合は、 PUTのファイル名を次のように取得できます。$_SERVER['REQUEST_URI']
たとえば、受信するPHPスクリプトがある場合
<?php
/* PUT data comes in on the stdin stream */
$request_body = @file_get_contents('php://input');
error_log("Received PUT, filename: {$_SERVER['REQUEST_URI']}, " . strlen($request_body) . " bytes");
?>
CURLを発行すると:
curl -X PUT -T "localfile.txt" http://example.com/interesting/target/name.txt
出力を取得します(エラーログに)
Received PUT, filename: interesting/target/name.txt, 4931 bytes
ファイルがソースファイルシステム(localfile.txt)に戻した名前をどのように見つけることができるかを尋ねている場合、それが伝えられるとは思いません。