3

を使用してファイル内のputリクエストを読み取ることができることを知っています

file_get_contents("php://input");

しかし、putリクエストでファイル名を取得するにはどうすればよいですか?

4

2 に答える 2

6

ファイル名はリクエストの一部として送信されません。サーバー側でファイル名を取得する場合は、他の方法、つまりクエリパラメータでファイル名を渡す必要があります。

于 2013-01-23T13:07:35.450 に答える
0

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)に戻した名前をどのように見つけることができるかを尋ねている場合、それが伝えられるとは思いません。

于 2013-02-22T21:02:18.410 に答える