사진으로 QR 코드 생성
이제 막 시작했는데, 고수님들이 이해하기 쉽지 않을 수도 있겠네요.
단계: 1. 웹사이트 http://phpqrcode.sourceforge.net/에서 phpqrcode.php 파일을 다운로드한 다음 이를 자신의 프로젝트에 넣습니다.
2. 코드를 작성합니다. phpqrcode.php 파일은 QR 코드 생성을 구현합니다.
코드:
1. phpqrcode.php 파일(다운로드)
2. 테스트 코드(erweima.app.php)
<?php /* * 生成二维码 */ class ErweimaApp extends ShoppingbaseApp{ function index() { $this->display('erweima.html'); } /** * @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。 不能混合数据类型,数据必须经过UTF-8 URL-encoded * @param int $widhtHeight 生成二维码的尺寸设置 * @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。 * L-默认:可以识别已损失的7%的数据 * M-可以识别已损失15%的数据 * Q-可以识别已损失25%的数据 * H-可以识别已损失30%的数据 * @param int $margin 生成的二维码离图片边框的距离 */ function credit_qrcode() { include '/includes/libraries/phpqrcode.php'; $value = isset($_POST['url']) ? $_POST['url'] : 'http://www.baidu.com'; //上传图片 if (isset($_FILES['image']) && $_FILES['image']['error'] == 0 ){ $image = $this->_upload_file('image', 'erweima/', date('YmdHis') . mt_rand(1000, 9999), 'index.php?app=credit&act=credit_qrcode'); if ($image){ $logo = $image; } } else { $logo = SITE_URL . '/themes/mall/default/styles/default/images/001.jpg';//准备好的logo图片 } $errorCorrectionLevel = 'H';//容错级别 $matrixPointSize = 8;//生成图片大小 //生成二维码图片 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $QR = 'qrcode.png';//已经生成的原始二维码图 if($logo !== FALSE){ $QR = imagecreatefromstring(file_get_contents($QR)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagesx($QR);//二维码图片宽度 $QR_height = imagesy($QR);//二维码图片高度 $logo_width = imagesx($logo);//logo图片宽度 $logo_height = imagesy($logo);//logo图片高度 $logo_qr_width = $QR_width / 5; $scale = $logo_width/$logo_qr_width; $logo_qr_height = $logo_height/$scale; $from_width = ($QR_width - $logo_qr_width) / 2; //重新组合图片并调整大小 imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); } //输出图片 imagepng($QR, 'helloweba.png'); echo '<img src="/static/imghw/default1.png" data-src="helloweba.png" class="lazy" alt="사진으로 QR 코드 생성" >'; } /** * 上传文件 * @return mix false表示上传失败,空串表示没有上传,string表示上传文件地址 * $file_name 为上传文件name * $path_name 为上传路径 * $save_name 为保存文件名 * $ret_url 为回调URL **/ function _upload_file($file_name, $path_name, $save_name, $ret_url = 'index.php') { $file = $_FILES[$file_name]; $message = array( '1' => '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。', '2' => '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。', '3' => '文件只有部分被上传。' ); switch ($file['error']) { case UPLOAD_ERR_INI_SIZE: case UPLOAD_ERR_FORM_SIZE: case UPLOAD_ERR_PARTIAL: if ($ret_url) { $this->show_warning($message[$file['error']], 'go_back'); return false; } else { return array('done' => FALSE, 'msg' => $message[$file['error']]); } break; } if ($file['error'] != UPLOAD_ERR_OK) { return ''; } import('uploader.lib'); $uploader = new Uploader(); $uploader->allowed_type(IMAGE_FILE_TYPE); $uploader->addFile($file); if ($uploader->file_info() === false) { if ($ret_url) { $this->show_warning($uploader->get_error(), 'go_back', $ret_url); return false; } else { return array('done' => FALSE, 'msg' => $uploader->get_error()); } } $uploader->root_dir(ROOT_PATH); return $uploader->save('data/files/mall/'.$path_name, $save_name); } }
로그인 후 복사
3 . 템플릿 파일(erweima.html)
<div style="height:100px;border:1px solid gray;text-align:center;padding-top:20px;"> <form action="index.php?app=erweima&act=credit_qrcode" method="post" enctype="multipart/form-data"> 请输入网址:<input type="text" name="url" ><br /> 图片上传:<input type="file" name="image"><br /> <input type="submit" name="sbt" value="提交"> </form> </div>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
2 몇 주 전
By DDD
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7529
15


Cakephp 튜토리얼
1378
52


Steam의 계정 이름 형식은 무엇입니까?
81
11


Win11 활성화 키 영구
54
19


NYT 연결 힌트와 답변
21
76

