当前位置:  开发笔记 > 编程语言 > 正文

在PHP中RESTful上传文件

如何解决《在PHP中RESTful上传文件》经验,为你挑选了1个好方法。

所以我正在开发一个脚本,它将通过RESTful接口将视频上传到服务器.文档告诉我,我应该将数据(包括二进制视频文件)作为POST请求的一部分传递.我知道如何设置我的POST变量,但我不知道如何做二进制数据.API说我应该有一个名为'media'的字段,它应该包含原始视频数据.

所以我想说我有一个名为'video1.mp4'的视频,我希望将其内容包含在我的'media'POST变量中.我怎样才能做到这一点?

谢谢!



1> deceze..:

我不知道你是如何与API通信的,但我会假设这个例子是cURL.要发送文件,请使用以下CURLOPT_POSTFIELDS选项:

CURLOPT_POSTFIELDS
在HTTP"POST"操作中发布的完整数据.要发布文件,请在文件前加上@并使用完整路径.这可以作为urlencoded字符串传递,如'para1 = val1¶2 = val2&...',或者作为一个数组,字段名称为键,字段数据为值.如果value是数组,则Content-Type标头将设置为multipart/form-data.

在页面上进一步向下的示例:

$ch = curl_init();

$data = array('name' => 'Foo', 'media' => '@/home/user/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有