PHP模拟浏览器上传文件(数据流形式上传)
25-04-07 03:49
545
0
用 PHP 上传文件基本都是临时存储,之后上传,怎么用 PHP 模拟浏览器以数据流形式上传文件
思路及代码如下:
//网址 参数 文件 function upload($url, $p, $file) { $param = [ //此处根据实际文件的上传的 name 填写 'fileData' => file_get_contents(realpath($file)), ]; if (!empty($p)) { arrary_merge($p, $param); } $delimiter = uniqid(); $data = ''; $eol = "\r\n"; $upload = $param['fileData']; unset($param['fileData']); foreach ($param as $name => $content) { $data .= "--" . $delimiter . "\r\n" . 'Content-Disposition: form-data; name="' . $name . "\"\r\n\r\n" . $content . "\r\n"; } // 拼接文件流 name="fileData"; filename="1.png"' 根据实际的文件 name 和名字填写 或写个变量 //'Content-Type: image/gif'可改为'Content-Type:application/octet-stream' 由于我是测试的网站必须为 gif 所以就这样吧先 $data .= "--" . $delimiter . $eol . 'Content-Disposition: form-data; name="fileData"; filename="1.png"' . "\r\n" . 'Content-Type: image/gif' . "\r\n\r\n"; $data .= $upload . "\r\n"; $data .= "--" . $delimiter . "--\r\n"; $post_data = $data; $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_HTTPHEADER, [ "Content-Type: multipart/form-data; boundary=" . $delimiter, "Content-Length: " . strlen($post_data), ]); $response = curl_exec($curl); curl_close($curl); return $response; }
请根据实际情况进行实际调用
-
在线小说小程序
1. 主要特性:支持 wxml, wxss, javascript 和 json 保存后热更新支持系统 notification 更早提示构建和请求错误使用后台转发 XML... 886 0 24-10-31 -
jquery图片自动播放
572 0 21-06-04 -
寄快递省钱方法
如果是给朋友寄快递,你在闲鱼随便发布一个商品链接,让朋友拍下,然后从闲鱼给朋友发货,闲鱼寄快递会有五六块钱补贴,比如我发中通和圆通... 914 0 24-11-18 -
中医针灸推拿技术
针灸推拿是我国中医治疗的有效方法,针与灸是两种不同的方法,针法治疗主要是在人身体的不同穴位上进行针刺、放血;灸是指通过点燃艾条等药... 1219 0 24-06-18 -
微信支付样例源码
358 0 21-06-02 -
点点像素字体
1066 0 24-07-23 -
Linux命令速查手册
Linux有众多特色,命令行shell是最重要的一个。如果运行Linux服务器,主要的操作界面将很可能是shell。如果你是桌面Linux的高级用户,那么... 971 0 24-05-24 -
内存检查:多种类型的内存泄漏分析方案
内存泄漏内存泄漏(Memory Leak)是指程序中已动态分配的堆内存,由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速... 1188 0 24-05-24
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~