CURL_SAFE_UPLOAD

1.版本差异

PHP5.4:支持通过在数组数据中,使用“@+文件全路径”的语法附加文件

curl_setopt(ch, CURLOPT_POSTFIELDS, array(
    'file' => '@'.realpath('image.png'), 
)); 

PHP5.5之后:引入了新的CURLFile类用来指向文件,另外引入了CURL_SAFE_UPLOAD选项,强制拒绝旧的@语法

curl_setopt(ch, CURLOPT_POSTFIELDS, [
    'file' => new CURLFile(realpath('image.png')), 
]); 

2.位置:CURLOPT_SAFE_UPLOAD就和CURLOPT_POSTFIELDS的行为有关,必须设置在前面

原文地址:https://www.cnblogs.com/xiaobiaomei/p/9821136.html