http-PHPPUT方式传文件的话,如何获取文件内容呢?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了http-PHPPUT方式传文件的话,如何获取文件内容呢?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3425字,纯文字阅读大概需要5分钟。
内容图文
最近因为在做前后端分离,后端PHP
所有Api都使用RESTFul
风格。
但是在使用PUT
上传文件的时候,发现$_FILES
没有文件信息(可能没有上传临时文件,待验证),使用POST
是可以的,并且PUT
从标准输入流
获取过来的数据,读取出来是下面这种格式(上面我猜测没有上传临时文件,是因为看标准输入流里面存着文件信息),需要另外解析。
#获取到的输入流内容
------WebKitFormBoundarybzEhWNCqbo9qKZBX
Content-Disposition: form-data; name="upload"; filename="一些不错的职位.md"
Content-Type: text/markdown
xxxx
xxxx
xxxx
------WebKitFormBoundarybzEhWNCqbo9qKZBX--
目前我的思路是两个:
如果
上传
临时文件(这个正在测试...): 如果上传了,可以读临时文件。如果
不上传
临时文件:尝试解析这串form-data
传过来的参数,但我不知道这种格式php
有没有对应方法进行解析。
顺带吐槽下,RESTFul用起来经常会有问题:
在跨域的时候,普通的form表单(GET, POST)没问题,但是使用PUT,DELETE的话,需要设置跨域头。
PS:不明白,为什么需要?MDN HTTP Method文档竟然没有
PUT
,DELETE
的详细介绍...PHP获取
PUT
,DELETE
需要到file_get_contents('php://input');
获取参数信息,没有类似$_PUT
,$_DELETE
的全局变量。
============= [ 22:01 ] ===================
到stackoverflow
逛了下,发现不少碰到相同问题的,暂时没看到比较好的解决方案。
补充下,这篇文章jquery ajax put file, php save file,博主和我碰到了一样的问题,不过他是通过用正则来解析处理数据的。
我在想,有没有比较好的方案,能够模仿PHP
处理POST
请求一样,把form-data
串,解析出来,普通参数,存到$_PUT
($_POST
), 文件传到临时目录,然后返回文件信息到$_FILES
.
============ [ 10-10 10:16 ] ===================
这片博文如何使用multipart/form-data格式上传文件,有讲到form-data的格式。
目前先自己简单写一个解析form-data
的composer
组件。
回复内容:
最近因为在做前后端分离,后端PHP
所有Api都使用RESTFul
风格。
但是在使用PUT
上传文件的时候,发现$_FILES
没有文件信息(可能没有上传临时文件,待验证),使用POST
是可以的,并且PUT
从标准输入流
获取过来的数据,读取出来是下面这种格式(上面我猜测没有上传临时文件,是因为看标准输入流里面存着文件信息),需要另外解析。
#获取到的输入流内容
------WebKitFormBoundarybzEhWNCqbo9qKZBX
Content-Disposition: form-data; name="upload"; filename="一些不错的职位.md"
Content-Type: text/markdown
xxxx
xxxx
xxxx
------WebKitFormBoundarybzEhWNCqbo9qKZBX--
目前我的思路是两个:
如果
上传
临时文件(这个正在测试...): 如果上传了,可以读临时文件。如果
不上传
临时文件:尝试解析这串form-data
传过来的参数,但我不知道这种格式php
有没有对应方法进行解析。
顺带吐槽下,RESTFul用起来经常会有问题:
在跨域的时候,普通的form表单(GET, POST)没问题,但是使用PUT,DELETE的话,需要设置跨域头。
PS:不明白,为什么需要?MDN HTTP Method文档竟然没有
PUT
,DELETE
的详细介绍...PHP获取
PUT
,DELETE
需要到file_get_contents('php://input');
获取参数信息,没有类似$_PUT
,$_DELETE
的全局变量。
============= [ 22:01 ] ===================
到stackoverflow
逛了下,发现不少碰到相同问题的,暂时没看到比较好的解决方案。
补充下,这篇文章jquery ajax put file, php save file,博主和我碰到了一样的问题,不过他是通过用正则来解析处理数据的。
我在想,有没有比较好的方案,能够模仿PHP
处理POST
请求一样,把form-data
串,解析出来,普通参数,存到$_PUT
($_POST
), 文件传到临时目录,然后返回文件信息到$_FILES
.
============ [ 10-10 10:16 ] ===================
这片博文如何使用multipart/form-data格式上传文件,有讲到form-data的格式。
目前先自己简单写一个解析form-data
的composer
组件。
PHP的全局变量$_FILES只能获取post方式上传的文件,若你要使用put 来上传文件,你必须自己处理该stream
手机端来说,目前的主流是 get+post+json
4,标准的form data上传格式
php put需要单独解析,另put一般用于接受json格式的数据
谢谢回答,另外,问题重新编辑了下, :)
内容总结
以上是互联网集市为您收集整理的http-PHPPUT方式传文件的话,如何获取文件内容呢?全部内容,希望文章能够帮你解决http-PHPPUT方式传文件的话,如何获取文件内容呢?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。