php curl如何传参,php curl 传参文件

下面重点说一下 php curl 传参的文件的几种方法

先解释一下 aaa";filename="xxx

aaa 是对方要接收的参数

";filename=" 是固定格式

xxx 自己定义的名字,随意定义

要上传的文件资源在服务器本地

php 5.5之前

'filename' => "@"."./hll.jpg", // 5.5之前 这个方法没有试过

php 7.0

$postBody = [

'aaa' => curl_file_create("./hll.jpg",'image/jpeg',11),

'aaa";filename="xxx' => "./hll.jpg",

'aaa' => new \CURLFile("./hll.jpg","image/jpeg","filename"); // 使用CURLFile类

];

重点说一下 CURLFile 的参数也是可以使用通过 form表单提交的文件【$_FILES接收的参数】

$fileinfo = $_FILE['filename']; // 接收前端传过来的文件

$postBody = [

'aaa' => new \CURLFile($fileinfo['tmp_name'],$fileinfo['type'],$fileinfo['name']); // 使用CURLFile类

];

要上传的文件资源不在服务器本地

$content = file_get_contents($url); // 获取远程的图片资源

$postBody = [

'aaa";filename="xxx' => $content, // 远程文件的二进制

];

贴上代码

// 测试发送参数

public function test()

{

$url = 'https://dss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2534506313,1688529724&fm=26&gp=0.jpg';

$content = file_get_contents($url); // 获取远程的图片资源

$requestUrl = 'xxx/accept'; // 请求的地址

$fileinfo = $_FILE['filename']; // 接收前端传过来的文件

$postBody = [

'filename1";filename="filename1' => $content, // 远程文件的二进制

'filename2' => "@"."./hll.jpg", // 5.5之前

'filename3' => curl_file_create("./hll.jpg",'image/jpeg',11),// 5.5之后

'filename4' => new \CURLFile($fileinfo['tmp_name'],$fileinfo['type'],$fileinfo['name']); // 使用CURLFile类 【参数是前端传输过来的】

'filename5' => new \CURLFile("./hll.jpg",'image/jpeg',11); // 使用CURLFile类 【参数是本地文件】

'filename6";filename="filename6' => "./hll.jpg", // 本地

'uuid' => 111,

];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $requestUrl);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $postBody);

$data = curl_exec($ch);

$data = json_decode($data,1);

curl_close($ch);

return self::output(200, $data, '');

}

// 接收参数

public function accept()

{

$data['file'] = $_FILES;

$data['post'] = $_POST;

echo json_encode($data,1);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值