php模拟form表单发送文件
短信预约 -IT技能 免费直播动态提醒
php模拟form表单发送文件
1、背景
今天遇到一个需求,要在php本身上面发送文件数据,文件是客户端表单提交过来的,然后我要发给另一方,另一方也是php写的,但是它接收的是表单数据的文件上传:
2、解决方案:
(1)header设置:需要支持form表单提交
$headers = [ 'Content-Type:multipart/form-data', ];
(2)file文件设置:这里我直接使用客户端传给我的$_FILES变量,不做任何处理
$fileData = [ // 使用CURLFile类 【参数是前端传输过来的】; 'file' => new \CURLFile($_FILES["file"]['tmp_name'],$_FILES["file"]['type'],$_FILES["file"]['name']), ];
(3)发送数据
public function postDataFileByCurl($postUrl, $postData, $header = array('Content-Type: application/json;charset=utf-8')) { $timeout = 100; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $postUrl); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //设置header头信息 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); ob_start(); $exe_result = curl_exec($ch); ob_end_clean(); curl_close($ch); $exe_result = json_decode($exe_result,true); return $exe_result; }
具体调用按照顺序发过去就行了,这很初级,大家应该都会
来源地址:https://blog.csdn.net/weixin_44434789/article/details/128150956
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341