首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >curl_setopt() API不推荐的错误

curl_setopt() API不推荐的错误
EN

Stack Overflow用户
提问于 2014-06-10 05:36:35
回答 1查看 687关注 0票数 1

在使用PHP5.5.0的Facebook中使用upload方法时发现了此错误。在Facebook决定拔出他们的手指并更新SDK之前,这是一个简单的解决办法。

这是在尝试用PHP 5.5.0上传图像或视频时会收到的错误类型:

代码语言:javascript
复制
curl_setopt(): The usage of the @filename API for file uploading is deprecated. Please use the CURLFile class instead 

这个补丁是由这里的一个人发布的:http://snippetrepo.com/snippets/deprecated-curl-setopt-fix-in-facebook-php-sdk

Facebook已经修好了吗?

EN

回答 1

Stack Overflow用户

发布于 2014-10-10 08:56:12

在使用PHP5.5.0的Facebook中使用upload方法时发现了此错误。这是一个简单的解决办法,直到Facebook决定拔掉他们的手指并更新SDK

这是在尝试用PHP 5.5.0上传图像或视频时会收到的错误类型:

curl_setopt():不推荐使用@filename上传文件。请改用CURLFile类

若要应用修补程序,请导航到base_facebook.php文件并搜索以下内容:

代码语言:javascript
复制
if ($this->getFileUploadSupport()){
    $opts[CURLOPT_POSTFIELDS] = $params;
} else {
    $opts[CURLOPT_POSTFIELDS] = http_build_query($params, null, '&');
}

并将其替换为下面的修补程序:

代码语言:javascript
复制
if ($this->getFileUploadSupport()){
  if(!empty($params['source'])){
     $nameArr = explode('/', $params['source']);
     $name    = $nameArr[count($nameArr)-1]; 
     $source  = str_replace('@', '', $params['source']);
     $size    = getimagesize($source); 
     $mime    = $size['mime'];
     $params['source'] = new CurlFile($source,$mime,$name);
  }

  if(!empty($params['image'])){
     $nameArr = explode('/', $params['image']);
     $name    = $nameArr[count($nameArr)-1]; 
     $image   = str_replace('@', '', $params['image']);
     $size    = getimagesize($image); 
     $mime    = $size['mime'];
     $params['image'] = new CurlFile($image,$mime,$name);
  }
  $opts[CURLOPT_POSTFIELDS] = $params;
} else {
    $opts[CURLOPT_POSTFIELDS] = http_build_query($params, null, '&');
}

http://snippetrepo.com/snippets/deprecated-curl-setopt-fix-in-facebook-php-sdk

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24133604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档