国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ バックエンド開発 PHPチュートリアル yii はオンラインデモアドレスを含む QR コードを生成するように phpqrcode を調(diào)整します

yii はオンラインデモアドレスを含む QR コードを生成するように phpqrcode を調(diào)整します

Jun 13, 2016 pm 12:27 PM
class div gt lt

yii は phpqrcode を統(tǒng)合して、オンライン デモ アドレス

1 の QR コードを生成します。まず、公式 Web サイトにアクセスしてパッケージをダウンロードします。http://phpqrcode.sourceforge.net/

クラス ライブラリをダウンロードした後、公式 Web サイトで提供されているので、必要なのは phpqrcode.php を使用して QR コードを生成することだけです。 もちろん、PHP 環(huán)境が GD2 サポートを有効にする必要があります。

phpqrcode.php はキー png() メソッドを提供します。このメソッドの
パラメーター $text は 2 桁の情報テキストの生成を示し、
パラメーター $outfile は QR コードを出力するかどうかを示します。デフォルトは no です。
パラメータ $level はフォールト トレランス レートを表します。つまり、カバーされる領(lǐng)域は引き続き識別できます。L (QR_ECLEVEL_L、7%)、M (QR_ECLEVEL_M、15%)、 Q (QR_ECLEVEL_Q, 25%), H (QR_ECLEVEL_H, 30%);
パラメータ $size は生成される畫像のサイズを示し、デフォルトは 3 です。パラメータ $margin は空白領(lǐng)域の間隔の値を示します。 QR コードの周囲の境界線
パラメータ $saveandprint は、QR コードを保存して表示するかどうかを示します。

2. 以下に示すように、解凍した phpqrcode フォルダーを拡張フォルダーの下に配置します。

3. クラス phpqrcode

Yii::$enableIncludePath = false;Yii::import ('application.extensions.phpqrcode.phpqrcode', 1 );

QR コードを生成する完全な方法は次のとおりです

public function actionQrcode(){		$this->breadcrumbs=array_merge($this->breadcrumbs,array(				'生成二維碼'		));		$qrcode_path='';		$file_tmp_name='';		$errors=array();		if(!empty($_POST)){			$content = trim($_POST['content']); //二維碼內(nèi)容			$contentSize=$this->getStringLength($content);			if($contentSize>290){				$errors[]='字數(shù)過長,不能多于150個字符!';			}			Yii::$enableIncludePath = false;			Yii::import ('application.extensions.phpqrcode.phpqrcode', 1 );			if(isset($_FILES['upimage']['tmp_name']) && $_FILES['upimage']['tmp_name'] && is_uploaded_file($_FILES['upimage']['tmp_name'])){				if($_FILES['upimage']['size']>512000){					$errors[]="你上傳的文件過大,最大不能超過500K。";				}				$file_tmp_name=$_FILES['upimage']['tmp_name'];				$fileext = array("image/pjpeg","image/jpeg","image/gif","image/x-png","image/png");				if(!in_array($_FILES['upimage']['type'],$fileext)){					$errors[]="你上傳的文件格式不正確,僅支持 png, jpg, gif格式。";				}			}			$tpgs=$_POST['tpgs'];//圖片格式			$bas_path=dirname ( Yii::app ()->BasePath );			$qrcode_bas_path=$bas_path.'/upload/qrcode/';			if(!is_dir($qrcode_bas_path)){				mkdir($qrcode_bas_path, 0777, true);			}			$uniqid_rand=date("Ymdhis").uniqid(). rand(1,1000);			$qrcode_path=$qrcode_bas_path.$uniqid_rand. "_1.".$tpgs;			$qrcode_path_new=$qrcode_bas_path.$uniqid_rand."_2.".$tpgs;			if(Helper::getOS()=='Linux'){				$mv = move_uploaded_file($file_tmp_name, $qrcode_path);			}else{				//解決windows下中文文件名亂碼的問題				$save_path = Helper::safeEncoding($qrcode_path,'GB2312');				if(!$save_path){					$errors[]='上傳失敗,請重試!';				}				$mv = move_uploaded_file($file_tmp_name, $qrcode_path);			}			if(empty($errors)){				$errorCorrectionLevel = $_POST['errorCorrectionLevel'];//容錯級別				$matrixPointSize = $_POST['matrixPointSize'];//生成圖片大小				$matrixMarginSize = $_POST['matrixMarginSize'];//邊距大小				//生成二維碼圖片				QRcode::png($content,$qrcode_path_new, $errorCorrectionLevel, $matrixPointSize, $matrixMarginSize);				$QR = $qrcode_path_new;//已經(jīng)生成的原始二維碼圖				$logo = $qrcode_path;//準備好的logo圖片				if (file_exists($logo)) {					$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;					//重新組合圖片并調(diào)整大小					imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,					$logo_qr_height, $logo_width, $logo_height);					//輸出圖片// 					header("Content-type: image/png");					imagepng($QR,$qrcode_path);					imagedestroy($QR);				}else{					$qrcode_path=$qrcode_path_new;				}				$qrcode_path=str_replace($bas_path,'', $qrcode_path);			}else{				$qrcode_path='';			}		}		$data=array('data'=>array('errors'=>$errors,'qrcode_path'=>$qrcode_path));		$this->render ( 'qrcode',$data);	}

フロント デスクのアップロード インターフェイス:

<?php$vars = get_defined_vars ();$data = $vars ['data'];$content=Yii::app ()->request->hostInfo;$matrixPointSize=6;$matrixMarginSize=2;$errorCorrectionLevel='M';$tpgs='gif';if(!empty($_POST)){	$content=$_POST['content'];	$matrixPointSize=$_POST['matrixPointSize'];	$matrixMarginSize=$_POST['matrixMarginSize'];	$errorCorrectionLevel=$_POST['errorCorrectionLevel'];	$tpgs=$_POST['tpgs'];}$arrayCorrectionLevel=array('L'=>'L - Low (7%)','M'=>'M - Medium (15%)','Q'=>'Q - Quartile (25%)','H'=>'H - High (30%)');$arrayTpgs=array('gif'=>'gif格式','png'=>'png格式','jpg格式');?><div class="col-md-12">	<div class="form-horizontal panel panel-default margin-t-10 b-img">		<div class="panel-heading">			<div class="pull-left">				<span class="g-bg glyphicon glyphicon-wrench margin-r-2"					aria-hidden="true"></span>在線生成二維碼			</div>			<div class="clearfix"></div>		</div><?php$form = $this->beginWidget ( 'CActiveForm', array (		'id' => 'qrcode-form',		'htmlOptions' => array (				'id' => 'view_table',				'class' => 'add-form padding-10',				'enctype' => 'multipart/form-data'		),		'enableAjaxValidation' => false) );?>	<div class="form-group">			<label class="col-lg-2 control-label">尺寸大小</label>			<div class="col-lg-3">				<select class="form-control" id="matrixPointSize"					name="matrixPointSize">					<?php for ($i=1;$i<21;$i++):?>                        <option value="<?php echo $i;?>" <?php echo $i==$matrixPointSize?'selected':'';?>><?php echo $i;?></option>                    <?php endfor;?>                	</select>			</div>		</div>		<div class="form-group">			<label class="col-lg-2 control-label">邊距大小</label>			<div class="col-lg-3">				<select class="form-control" id="matrixMarginSize"					name="matrixMarginSize">					<?php for ($i=0;$i<21;$i++):?>                        <option value="<?php echo $i;?>" <?php echo $i==$matrixMarginSize?'selected':'';?>><?php echo $i;?></option>                    <?php endfor;?>                </select>			</div>		</div>		<div class="form-group">			<label class="col-lg-2 control-label">容錯級別</label>			<div class="col-lg-3">			<?php echo CHtml::dropDownList('errorCorrectionLevel',$errorCorrectionLevel, $arrayCorrectionLevel,array('class'=>'form-control'));?>			</div>		</div>		<div class="form-group">			<label class="col-lg-2 control-label">保存格式</label>			<div class="col-lg-3">			<?php echo CHtml::dropDownList('tpgs',$tpgs, $arrayTpgs,array('class'=>'form-control'));?>			</div>		</div>		<div class="form-group">			<label class="col-lg-2 control-label">二維碼內(nèi)容</label>			<div class="col-lg-5">				<?php echo CHtml::textField('content',$content,array('class'=>'form-control','maxlength'=>150));?>			</div>		</div>		<div class="form-group">			<label class="col-lg-2 control-label">二維碼logo圖片</label>			<div class="col-lg-5">				<div class="col-md-6">						<input id="upimage" type="file" name="upimage" class="hidden">						<input id="tmp_file" class="form-control" type="text" value="gif,png,jpg">					</div>				<div class="col-md-6"><a class="btn btn-default" onclick="$('input[id=upimage]').click();">選擇文件</a></div>			</div>		</div>		<div class="list_back">			<input type="submit" value="生成二維碼" class="btn btn-success">		</div>	</div><?php $this->endWidget(); ?>	<div class="panel panel-default margin-t-10 b-img">		<div class="panel-heading">			<span class="g-bg glyphicon glyphicon-wrench margin-r-2" aria-hidden="true"></span>二維碼		</div>		<div class="panel-body">		<?php if(empty($_POST)):?>		<?php echo CHtml::image('/static/tool/qrcode/qrcode.gif','二維碼');?>		<?php endif;?>		<?php if(!empty($data['errors'])):?>			<label class="col-lg-2 text-right">生成失敗</label>			<div class="col-lg-5">			<?php foreach ($data['errors'] as $e):?>			<?php echo $e;?><br>			<?php endforeach;?>			</div>		<?php endif;?>		<?php if(!empty($data['qrcode_path'])):?>			<?php echo CHtml::image($data['qrcode_path'],'二維碼');?>			<a class="btn btn-success color-f" href="<?php echo $data['qrcode_path'];?>" target="_blank"><span aria-hidden="true" class="glyphicon glyphicon-download-alt margin-r-2"></span>右鍵另存為二維碼</a>		<?php endif;?>		</div>	</div><?php $this->renderPartial('/component/duoshuo_common');?></div>

次のように:

デモ アドレス

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責(zé)任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質(zhì)はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質(zhì)はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結(jié)果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

Python でクラスとメソッドを使用する方法 Python でクラスとメソッドを使用する方法 Apr 21, 2023 pm 02:28 PM

クラスとメソッドの概念とインスタンス クラス (Class): 同じプロパティとメソッドを持つオブジェクトのコレクションを記述するために使用されます。コレクション內(nèi)のすべてのオブジェクトに共通のプロパティとメソッドを定義します。オブジェクトはクラスのインスタンスです。メソッド: クラスで定義された関數(shù)。クラス構(gòu)築メソッド __init__(): クラスには init() という名前の特別なメソッド (構(gòu)築メソッド) があり、クラスがインスタンス化されるときに自動的に呼び出されます。インスタンス変數(shù): クラスの宣言において、屬性を変數(shù)で表現(xiàn)したものをインスタンス変數(shù)と呼びます。インスタンス変數(shù)とは、self で修飾された変數(shù)です。インスタンス化: クラスのインスタンス、クラスの特定のオブジェクトを作成します。継承: つまり、派生クラス (派生クラス) は基本クラス (ベースクラス) を継承します。

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術(shù)知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

CSSを使用してdivの角が欠けていることを認識する方法 CSSを使用してdivの角が欠けていることを認識する方法 Jan 30, 2023 am 09:23 AM

div の角が欠けていることを認識するための CSS メソッド: 1. HTML サンプル ファイルを作成し、div を定義します; 2. div の幅と高さの背景色を設(shè)定します; 3. 削除する必要がある div に疑似クラスを追加します隅に配置し、擬似クラスを背景色と同じ色を使用するように設(shè)定し、45 度回転して、削除する必要がある隅に配置します。

Pythonにおけるクラスとは何を意味するのでしょうか? Pythonにおけるクラスとは何を意味するのでしょうか? May 21, 2019 pm 05:10 PM

クラスとはPythonでクラスを定義するためのキーワードです クラスの定義方法:classの後ろにスペースを入れてからクラス名を追加します; クラス名のルール:最初の文字を大文字にします 複數(shù)の単語がある場合はキャメルケースを使用してください[class Dog()] などの名前付け。

jQueryを使用して要素のクラス名を置換する jQueryを使用して要素のクラス名を置換する Feb 24, 2024 pm 11:03 PM

jQuery は、Web 開発で広く使用されている古典的な JavaScript ライブラリで、イベントの処理、DOM 要素の操作、Web ページ上でのアニメーションの実行などの操作を簡素化します。 jQueryを使っていると要素のクラス名を置き換える場面がよくありますが、この記事ではその実踐的な方法と具體的なコード例を紹介します。 1.removeClass() メソッドと addClass() メソッドを使用する jQuery には、削除用の RemoveClass() メソッドが用意されています。

Vue エラー: v-bind を使用してクラスとスタイルを正しくバインドできません。解決方法は? Vue エラー: v-bind を使用してクラスとスタイルを正しくバインドできません。解決方法は? Aug 26, 2023 pm 10:58 PM

Vue エラー: v-bind を使用してクラスとスタイルを正しくバインドできません。解決方法は? Vue 開発では、v-bind 命令を使用してクラスとスタイルを動的にバインドすることがよくありますが、v-bind を正しく使用してクラスとスタイルをバインドできないなどの問題が発生することがあります。この記事では、この問題の原因と解決策を説明します。まず、v-bind ディレクティブを理解しましょう。 v-bind は V をバインドするために使用されます

「[Vue warn]: v-bind:class/ :class」エラーを解決する方法 「[Vue warn]: v-bind:class/ :class」エラーを解決する方法 Aug 26, 2023 am 08:17 AM

「[Vuewarn]:v-bind:class/:class」エラーを解決する方法 Vue を使用した開発プロセス中に、いくつかのエラー プロンプトに遭遇することがよくあります。一般的なエラーの 1 つは、「[Vuewarn]:v-bind:class」です。 「/:クラス」エラー。このエラー メッセージは通常、v-bind:class または :class 屬性を使用するときに表示され、Vue が設(shè)定したクラス値を正しく解析できないことを示します。そうすると、

See all articles