代码拉取完成,页面将自动刷新
同步操作将从 小脉/PHP电商收付通 V3版本SDK 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
//上传图片,上传物理地址返回 微信的media_id
include_once('WxPayv3Exception.php');
include_once('Signs.php');
class Uploads
{
/** [upload 商户收付通图片上传]
* @param [type] $imgpath [文件物理地址]
* @return [type] [返回参数媒体文件标识 media_id 示例值:6uqyGjGrCf2GtyXP8bxrbuH9-aAoTjH-rKeSl3Lf4_So6kdkQu4w8BYVP3bzLtvR38lxt4PjtCDXsQpzqge_hQEovHzOhsLleGFQVRF-U_0]
*/
public function upload($imgpath)
{
$url = 'https://api.mch.weixin.qq.com/v3/merchant/media/upload';
$filename = $imgpath;
$fi = new \finfo(FILEINFO_MIME_TYPE);
$mime_type = $fi->file($filename);
$data['filename'] = time() . rand(1000, 999) . '.' . $mime_type;
$meta['filename'] = time() . rand(1000, 999) . '.' . $mime_type;
$meta['sha256'] = hash_file('sha256', $filename);
$boundary = uniqid(); //分割符号
$date = time();
$nonce = self::createNoncestr();
$sign = Signs::sign($url, 'POST', $date, $nonce, json_encode($meta)); //$http_method要大写
$header[] = 'User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36';
$header[] = 'Accept:application/json';
$header[] = 'Authorization:WECHATPAY2-SHA256-RSA2048 ' . $sign;
$header[] = 'Content-Type:multipart/form-data;boundary=' . $boundary;
$boundaryStr = "--{$boundary}\r\n";
$out = $boundaryStr;
$out .= 'Content-Disposition: form-data; name="meta"' . "\r\n";
$out .= 'Content-Type: application/json' . "\r\n";
$out .= "\r\n";
$out .= json_encode($meta) . "\r\n";
$out .= $boundaryStr;
$out .= 'Content-Disposition: form-data; name="file"; filename="' . $data['filename'] . '"' . "\r\n";
$out .= 'Content-Type: ' . $mime_type . ';' . "\r\n";
$out .= "\r\n";
$out .= file_get_contents($filename) . "\r\n";
$out .= "--{$boundary}--\r\n";
$r = Signs::_requestPost($url, $out, $header);
return $r;
}
//作用:产生随机字符串,不长于32位
private static function createNoncestr($length = 32)
{
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$str = "";
for ($i = 0; $i < $length; $i++) {
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
}
return $str;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。