Как получить имя файла в php in put request

Я знаю, что мы можем читать запрос put в файле, используя

file_get_contents("php://input"); 

Но как я могу получить имя файла в запросе 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), я не думаю, что это передается.