在使用PHP5.5.0的Facebook中使用upload方法时发现了此错误。在Facebook决定拔出他们的手指并更新SDK之前,这是一个简单的解决办法。
这是在尝试用PHP 5.5.0上传图像或视频时会收到的错误类型:
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已经修好了吗?
发布于 2014-10-10 08:56:12
在使用PHP5.5.0的Facebook中使用upload方法时发现了此错误。这是一个简单的解决办法,直到Facebook决定拔掉他们的手指并更新SDK
这是在尝试用PHP 5.5.0上传图像或视频时会收到的错误类型:
curl_setopt():不推荐使用@filename上传文件。请改用CURLFile类
若要应用修补程序,请导航到base_facebook.php文件并搜索以下内容:
if ($this->getFileUploadSupport()){
$opts[CURLOPT_POSTFIELDS] = $params;
} else {
$opts[CURLOPT_POSTFIELDS] = http_build_query($params, null, '&');
}并将其替换为下面的修补程序:
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
https://stackoverflow.com/questions/24133604
复制相似问题