PHP5.6中curl上传文件的问题

php5.6中利用curl读取本地文件上传有了新方式,并且原来用@方式读取文件已经失效!

curl_setopt(ch, CURLOPT_POSTFIELDS, array(
    'file' => '@/tmp/1.txt',
));

以上方式已经失效.
新的方式是

curl_setopt(ch, CURLOPT_POSTFIELDS, array(
    'file' => new CURLFile('/tmp/1.txt'),
));

这种才可以,可以做以下兼容性处理.

if(PHP_VERSION>5.5 and class_exists('CURLFile')){
    $file_fields['Filedata'] = new CURLFile(substr($file_fields['Filedata'], 1));
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code