php生成小程序码乱码,PHP生成微信小程序码

这段代码展示了如何使用PHP发起HTTP POST请求来获取小程序码,并将返回的二维码数据保存为PNG图片。它涉及到了curl库的使用,以及base64编码和文件操作。此外,还提供了一个上传base64编码图片到服务器的函数。
摘要由CSDN通过智能技术生成

直接上代码

'', //地址带的参数

'page' =>'page/index/index', //扫描小程序码跳转地址

'is_hyaline' => 'true' //小程序码背景设置透明

];

//传入的scene为json格式

$scene = json_encode($data);

function httpRequest($url, $data='', $method='GET'){

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($curl, CURLOPT_AUTOREFERER, 1);

if($method=='POST')

{

curl_setopt($curl, CURLOPT_POST, 1);

if ($data != '')

{

curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

}

}

curl_setopt($curl, CURLOPT_TIMEOUT, 30);

curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);

curl_close($curl);

return $result;

}

$result = httpRequest( $new_url, $scene,"POST");

file_put_contents("qrcode.png", $result);

$base64_image ="data:image/jpeg;base64,".base64_encode( $result );

var_dump($base64_image);exit;

function upFile($file){

if(!empty($file)){

if(!preg_match('/^(data:\s*image\/(\w+);base64,)/', $file, $result)){

throw new ParameterException([

'msg' => '编码错误'

]);

}

$type = $result[2];

if (strstr($file,",")){

$image = explode(',',$file);

$file = $image[1];

}

$file_name = date('YmdHis',time()).mt_rand(1000,9999) . '.' . $type ;

$file_path = './upload/'. date("Y") .'/'. date("m") . '/' .date('d');

$imageSrc= $file_path."/". $file_name;

if(!is_dir($file_path)){

mkdir($file_path,0777,true);

}

file_put_contents($imageSrc, base64_decode($file));

$new_path = '域名'.substr($file_path,1) .'/'. $file_name;

return $new_path;

}

}

var_dump(upFile($base64_image));exit;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值