阅读了一些资料后,似乎
$_FILES
数组仅适用于POST和multipart/form-data
。 而对于PUT,我需要手动读取php://input
来获取数据。 两种方法都不起作用。我尝试了以下选项,并希望您能提供任何建议:
curl --upload avatar.jpg http://api.test.com/user/dsadasdsa
curl -X PUT -F "filedata=@avatar.jpg" http://api.test.com/user/dsadasdsa
我的PHP文件想要打印出这个内容,但是返回了一个空字符串:
echo file_get_contents("php://input");
我开始认为这可能是Nginx缺少PUT DELETE支持的问题,并安装了nginx-extras,同时在我的Nginx配置中添加了以下内容,但不幸的是,这也没有帮助解决问题。
root /var/www/;
dav_methods PUT DELETE MKCOL COPY MOVE;
create_full_put_path on;
dav_access group:rw all:r;