php 生成二维码,图片上传到又拍云
//测试二维码生成 public function test() { //TODO 生成二维码 require './Public/Qrcode/phpqrcode.php'; $vcard['name'] = '小虎'; $vcard['job'] = '技术开发'; $vcard['tel'] = '15251507015'; $vcard['org'] = '南京好恰科技'; $value = 'BEGIN:VCARD VERSION:3.0 N:'.$vcard['name'].' TEL:'.$vcard['tel'].' ORG:'.$vcard['org'].' TITLE:'.$vcard['job'].' END:VCARD'; $errorCorrectionLevel = '3'; $matrixPointSize = 10; $qrcode_pic_name = './upload/' . 'qrcode/' . date("Y-m-d") . '/' . uniqid() . '.png'; $this->mk_dirs(dirname($qrcode_pic_name)); QRcode::png($value, $qrcode_pic_name, $errorCorrectionLevel, $matrixPointSize, 2, true); $qrcode = substr($qrcode_pic_name, 1); //TODO 上传到又拍云 set_time_limit(0); ini_set('memory_limit', '512M'); $process = curl_init('http://v0.api.upyun.com/####' . $qrcode); // 上传操作 curl_setopt($process, CURLOPT_PUT, 1); curl_setopt($process, CURLOPT_USERPWD, "###:###"); curl_setopt($process, CURLOPT_HEADER, 0); curl_setopt($process, CURLOPT_TIMEOUT, 60); // 本地待上传的图片文件 $local_file_path = '.' . $qrcode; $datas = fopen($local_file_path, 'r'); fseek($datas, 0, SEEK_END); $file_length = ftell($datas); fseek($datas, 0); // 设置待上传图片的内容 curl_setopt($process, CURLOPT_INFILE, $datas); // 设置待上传图片的长度 curl_setopt($process, CURLOPT_INFILESIZE, $file_length); curl_setopt($process, CURLOPT_HTTPHEADER, array( //'x-gmkerl-type: fix_width', //'x-gmkerl-value: 200', 'x-gmkerl-unsharp: true', 'Mkdir:true', )); curl_exec($process); curl_close($process); fclose($datas); $img = substr($qrcode, 1); $img = 'http://qqbxw.b0.upaiyun.com/' . $img; echo $img; }