繁体   English   中英

如何在put请求中获取php中的文件名

[英]How to get filename in php in put request

我知道我们可以在文件中读取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)上找回的名称,我认为不会传递。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM