我知道我们可以使用
在文件中读取放置请求file_get_contents("php://input");
但是如何在put请求中获取文件名?
答案 0 :(得分:5)
Filename不会作为请求的一部分发送。如果你想在服务器端获取文件名,你必须通过其他方式传递它,即查询参数。
答案 1 :(得分:-1)
如果您在PUT Method Support页面中使用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)上找回的名称,我认为这不会被传递。