1、需求:
a、用php代码实现form-data方式请求接口上传文件
2、php代码
$filePath = $path."/aa.txt"; //需要上传的文件路径
$uploadFileName = "upload.txt"; //上传的文件名,可以自己命名也可以不要
$uploadUrl = "www.baidu.com/upload/file"; //上传接口地址
$fileData = array('file'=> new \CURLFILE($filePath,'multipart/form-data',"cc.txt")); //自己重新命令上传文件名称
$fileData = array('file'=> new \CURLFILE($filePath)); //文件名就是本地文件名称
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $uploadUrl,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST", //上传方式
CURLOPT_POSTFIELDS => $fileData,
));
$response = curl_exec($curl);
curl_close($curl);
print_r($response);die;
3、注意点:
a、当PHP 版本 >= 5.5.0是可以使用new \CURLFILE()
由于本地是php是7.2版本,没有验证php版本小于5.5的情况
b、当上传过大时,上传文件的大小是否被上传接口的服务器大小进行限制