首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法使用php中的Api将文件上载到框中

无法使用php中的Api将文件上载到框中
EN

Stack Overflow用户
提问于 2017-07-20 03:41:57
回答 1查看 145关注 0票数 1

我无法使用php在框上上传文件。我试过在stackOverflow上找到的所有内容,但都没有成功。甚至我也尝试过https://github.com/golchha21/BoxPHPAPI/blob/master/README.md客户端,但还是失败了。谁能帮我如何上传文件在盒上使用php卷曲。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$access_token = 'xGjQY2XU0bmOEwVAdkqiZTsGuFyFuqzU';
$url = 'https://upload.box.com/api/2.0/files/content';
$headers = array("Authorization: Bearer $access_token"
        . "Content-Type:multipart/form-data");
$filename = 'file.jpg';
$name = 'file.jpg';
$parent_id = '0';
$post = array('filename' => "@" . realpath($filename), 'name' => $name, 
'parent_id' => $parent_id);


$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
var_dump($response);

即使我也用过这个请求..。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$localFile = "file.jpg";
$fp = fopen($localFile, 'r');
$access_token = '00hsilvu9LrAsKQ8iDzXZAAieSLrjzX9';
$url = 'https://upload.box.com/api/2.0/files/content';
$curl = curl_init();

$cfile = new CURLFILE($localFile, 'jpg', 'Test-filename.jpg');
$data = array();                
//$data["TITLE"] = "$noteTitle";
//$data["BODY"] = "$noteBody";
//$data["LINK_SUBJECT_ID"] = "$orgID";
//$data["LINK_SUBJECT_TYPE"] = "Organisation";        
$data['filename'] = "file.jpg";
$data['parent_id'] = 0;

curl_setopt_array($curl, array(
  CURLOPT_UPLOAD => 1,
  CURLOPT_INFILE => $fp,
  CURLOPT_NOPROGRESS => false, 
  CURLOPT_BUFFERSIZE => 128,
  CURLOPT_INFILESIZE => filesize($localFile),
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $data,      
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer 00hsilvu9LrAsKQ8iDzXZAAieSLrjzX9",
    "Content-Type:multipart/form-data"
  ),
));
$response = curl_exec($curl);
$info = curl_getinfo($curl);
$err = curl_error($curl);

curl_close($curl);
var_dump($info);
$req_dump = print_r($response, true);
file_put_contents('box.txt', $req_dump, FILE_APPEND);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

作为回应,我总是得到一个空字符串。请告诉我我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-17 05:05:30

我使用Box PHP客户端创建文件夹,上传文件,然后使用这个客户端共享上传的文件。https://github.com/golchha21/BoxPHPAPI

但这个客户上传的文件不起作用..。然后我深入研究,发现这个方法中缺少了一些东西。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* Uploads a file */    

    public function put_file($filename, $name ,$parent_id) {
            $url = $this->build_url('/files/content', array(), $this->upload_url);
            if(isset($name)){
                $name = basename($filename);
            }
            $params = array('filename' => "@" . realpath($filename), 'name' => $name , 'parent_id' => $parent_id, 'access_token' => $this->access_token);
            return json_decode($this->post($url, $params), true);
        }

在“签名”之后加上斜杠。像这样,我就开始工作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* Uploads a file */    

    public function put_file($filename, $name ,$parent_id) {
            $url = $this->build_url('/files/content', array(), $this->upload_url);
            if(isset($name)){
                $name = basename($filename);
            }
            $params = array('filename' => "@/" . realpath($filename), 'name' => $name , 'parent_id' => $parent_id, 'access_token' => $this->access_token);
            return json_decode($this->post($url, $params), true);
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45213689

复制
相关文章
在Windows上安装PHP(将PHP加载到Apache中)
第一步:在 windows.php.net 下载软件包 第二步:解压压缩包,将解压后的目录放到指定目录并重命名 第三步: 创建PHP配置文件,修改Apache配置文件(httpd.conf),将PHP加载到Apache中 1. 在官网下载Windows上用的安装包 ---- https://windows.php.net 2. 解压压缩包,将目录放到指定目录并重命名为 7.0 ---- php-7.0.33-Win32-VC14-x64 —> 7.0 3. 创建PHP配置文件,将以下内容添加到A
很酷的站长
2023/02/17
1.7K0
在Windows上安装PHP(将PHP加载到Apache中)
用PHP将图片以流的形式加载到image标签中
  很多情况下,如果为了网站资源案例考虑,我们就不能直接暴露资源的地址到页面中去,以防被人用工具去扫描盗用资源文件下的文件,在这里我们就可以考虑以前端页面请求后端程序,后端程序加以验证之后,以流的方式将资源输出,这样就会安全多了。
Sindsun
2019/12/06
1.7K0
@vue/composition-api 中无法使用ref对象的
相关链接 https://composition-api.vuejs.org/zh/api.html#%E6%A8%A1%E6%9D%BF-refs
拿我格子衫来
2022/01/24
2.3K0
Taro中如何将store加载到项目中
上面文章我们了解了如何创建store,最后导出时,在函数内部创建了store,所以导出时,函数需要调用,然后通过provicer组件将其注入到项目中。
挥刀北上
2022/05/11
7680
Taro中如何将store加载到项目中
将Linux的目录挂载到Windows系统上
先来一篇文章,这篇文章介绍了很多的方法,不过我试了几个,都没成功(个(教)人(程)太笨(老))。 文章链接:https://www.jianshu.com/p/ad3099cc3ec8
华创信息技术
2019/11/08
5.9K0
将Linux的目录挂载到Windows系统上
/etc/fstab文件_将etc目录挂载到
第一列到六列是设备或分区 挂载点 文件类型 default是挂载类型 dump 系统故障dump内存信息到硬盘 fsck 检查磁盘坏道等
全栈程序员站长
2022/09/20
8900
uniapp 中的交互反馈 API【提示框】
uniapp 交互反馈文档: https://uniapp.dcloud.net.cn/api/ui/prompt.html
很酷的站长
2022/12/16
2.5K0
uniapp 中的交互反馈 API【提示框】
java动态编译类文件并加载到内存中
  如果你想在动态编译并加载了class后,能够用hibernate的数据访问接口以面向对象的方式来操作该class类,请参考这篇博文-http://www.cnblogs.com/anai/p/4270214.html
程序员一一涤生
2019/09/10
3.2K0
matlab中importdata无法打开文件_importdata无法打开文件
最近使用importdata函数不能读取全部数据,数据集315行,但是读取了197行,那就是197-198之间有问题,百度之后有了思路。由于没有找到具体的证据,所以这里说一下解决思路。
全栈程序员站长
2022/11/16
6.2K0
matlab中importdata无法打开文件_importdata无法打开文件
Qt中各种消息框的使用
在程序运行时,经常需要提示用户一些信息,比如警告啊,提示啊,建议啊之类的东西。这些东西基本上是通过消息框与用户进行交互的,Qt中主要是用QMessageBox类来加以实现的。
mythsman
2022/11/14
1.4K0
Qt中各种消息框的使用
PHP中的文件对比扩展
文件对比这个扩展现在用得比较少,因为大部分情况下我们都在使用一些代码管理工具,比如 Git 或者 Svn 之类的,其实它的作用就非常类似这类工具,另外还有一个非常常用的 Beyond Compare 工具也能方便地让我们能够进行文件的对比。
硬核项目经理
2021/04/02
1.4K0
PHP中DirectIO直操作文件扩展的使用
关于 PHP 的文件操作,我们也将是通过一系列的文章来进行学习。今天我们先学习的是一个很少人使用过,甚至很多人根本不知道的扩展,它与我们日常的文件操作有些许的不同。不过这些差别并不是我们肉眼所能直观看到的,主要还是在于业务的需求与性能的平衡。
硬核项目经理
2021/03/16
6600
PHP中Redis扩展无法加载问题
phpredis编译出来的redis.so也需要拷贝到"/usr/lib64/php/modules/"中;
叫我可儿呀
2019/11/16
2K0
如何使用PHP Malware Finder检测主机中潜在的恶意PHP文件
PHP Malware Finder是一款针对主机安全和PHP安全的强大检测工具,在该工具的帮助下,广大研究人员可以轻松检测其主机或服务器中可能存在的潜在恶意PHP文件。
FB客服
2022/04/11
2K0
如何使用PHP Malware Finder检测主机中潜在的恶意PHP文件
将 windows 磁盘作为共享盘挂载到 Linux 上
在 Linux 处理组学数据,硬盘真是经不起消耗的东西。而本地办公的电脑主要以开浏览器、看文献、交流、做PPT等为主,除了C盘小的时候容易炸,其他磁盘使用量很少。所以我最近遇到了工作站没法装大点的测序数据,但 PC 却有好几个盘上 T 的空闲。这篇文章就简单做个笔记,记录下如何将 Windows 的磁盘共享给 Linux 存数据使用。
王诗翔呀
2023/02/28
4.9K0
将 windows 磁盘作为共享盘挂载到 Linux 上
PHP中的php.ini文件详解 原
php.ini是PHP的初始化配置文件,该文件下内容非常多,进行个性化配置并不方便,所以在进行LNMP环境搭建时我们并没有完全使用它,只使用了其中默认开启的部分配置(该部分配置必须保留,所以PHP配置文件目录下必须有该文件),那么,该文件下到底都包含什么内容呢?小白出于好奇,整理如下:
阿dai学长
2019/04/03
3.7K0
Node 中核心API的使用
Node.js=HTML+"JS":性能好,适合于服务器端IO密集型项目,不适合CPU密集型项目。
越陌度阡
2022/11/27
1.9K0
Node 中核心API的使用
Angular中sweetalert弹框的使用详解
最近太忙了,项目中使用的弹框老板嫌太丑,让我们优化一下,我在网上找了一下,找到了sweetalert弹框,算是比较好看的弹框了。所以我就想办法将sweetalert用到项目中,在项目中引入sweetalert时,遇到诸多问题,但最终在我不懈坚持下,都解决了,实现了效果。具体用法请看下文。写的有问题的地方欢迎留言,我会及时更改。
半指温柔乐
2018/09/11
2.8K0
Angular中sweetalert弹框的使用详解
MFC中的下拉框ComboBox使用
Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。  1、定义控件对应变量
acoolgiser
2019/01/17
7.2K0
将文件夹中的文件信息统计写入到csv中
今天在整理一些资料,将图片的名字信息保存到表格中,由于数据有些多所以就写了一个小程序用来自动将相应的文件夹下的文件名字信息全部写入到csv文件中,一秒钟搞定文件信息的保存,省时省力!
小海怪的互联网
2019/09/18
9.2K0

相似问题

使用ajax将.php文件加载到文本框中

23

无法使用PHP将文件上载到文件夹中

32

无法使用PHP将多个文件上载到文件夹中

12

无法使用PHP将图像上载到文件夹中

13

无法使用php将文件上载到Google

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文