php生成帶logo二維碼方法小結,phplogo小結_PHP教程
Jul 12, 2016 am 08:54 AMphp生成帶logo二維碼方法小結,phplogo小結
一、使用的類庫
1、phpqrcode(php庫)
2、qrcode.js(javascript庫)
二、phpqrcode的使用
只用php的類庫,也就是二維碼的生成在后臺操作。因為要在后臺生成帶logo的二維碼,那么首先必須將logo圖片上傳至服務器(在上傳這里我用了webuploader)
phpqrcode使用方法:
首先下載phpqrcode:http://phpqrcode.sourceforge.net/
然后在使用之前記得引入phpqrcode.php文件
$value = $url;//二維碼內容 $errorCorrectionLevel = 'L';//設置容錯級別 $matrixPointSize = $size;//生成圖片大小 QRcode::png($value, 'public_files'.DIRECTORY_SEPARATOR .'code'.DIRECTORY_SEPARATOR .'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2);//生成二維碼圖片 無logo $logo = $tar_path;//上傳至服務器的logo圖片 $QR = 'public_files'.DIRECTORY_SEPARATOR .'code'.DIRECTORY_SEPARATOR .'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); } $name = time(); imagepng($QR, 'public_files'.DIRECTORY_SEPARATOR .'code'.DIRECTORY_SEPARATOR .$name.'.png');//輸出帶logo的二維碼圖片
三、qrcode.js的使用
使用qrcode.js在前端直接生成二維碼,首先需要下載jquery.qrcode.js
qrcode的使用也很簡單:
var length = size*80;//設置二維碼大小 length = parseInt(length); $("#code_img").qrcode({ //code_img是一個img標簽的id render : "canvas", //設置渲染方式,有table和canvas,使用canvas方式渲染性能相對來說比較好 text : url, //掃描二維碼后顯示的內容,可以直接填一個網址,掃描二維碼后自動跳向該鏈接 width : length, //二維碼的寬度 height : length, background : "#ffffff", //二維碼的后景色 foreground : "#000000", //二維碼的前景色 src: $('#image').attr('src') //二維碼中間的圖片 });
引入jquery.qrcode.js后再自己編寫這段js代碼,執(zhí)行后二維碼就可以顯示處理了
主要是二維碼中間的logo引用格式,一般取本地圖片有兩種格式:一種是本地URL,另一種是將圖片轉成base64格式
一開始我試用本地URL的格式來引用圖片,發(fā)現只能引用與js文件統(tǒng)一目錄下的圖片,所以本地URL格式并不支持,于是我采用了后一種方式。
用
來上傳選取本地圖片,然后取其base64格式
var input = document.getElementById("file_input"); if(typeof FileReader==='undefined'){ input.setAttribute('disabled','disabled'); }else{ input.addEventListener('change',readFile,false); } function readFile(){ var file = this.files[0]; if(!/image\/\w+/.test(file.type)){ alert("文件必須為圖片!"); return false; } var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function(e){ $('#image').attr('src',this.result);//image為img標簽的id } }
將文件讀取為一串Data URL字符串,將小文件以一種特殊格式的URL地址直接讀入頁面。這個特殊格式就是base64
三、兩個類庫之間的對比
兩個類庫,一個在后臺操作,一個直接在前端操作。
phpqrcode 生成二維碼在后臺操作,生成的圖片保存在服務器。一般生成二維碼都是直接保存到本地然后直接使用,很少會去服務器二次獲取,所以采用phpqrcode的 話會使得服務器中的圖片堆積,占用了不必要的空間,刪除的話也會花費多余的開銷。所以使用phpqrcode不適用于這種二維碼生成工具。而且上傳圖片也 會產生多余的開銷
qrcode.js直接在前端操作,上傳圖片直接保存在瀏覽器,直接在前端生成二維碼,不需要任何后臺的干涉,這樣減少了不必要的開銷,也不會在服務器造成圖片的堆積而占用不必要的空間。
您可能感興趣的文章:
- php生成二維碼的幾種方式整理及使用實例
- php制作中間帶自己定義圖片二維碼的方法
- 使用PHP生成二維碼的兩種方法(帶logo圖像)
- PHP下通過QRCode類庫創(chuàng)建中間帶網站LOGO的二維碼
- php生成二維碼時出現中文亂碼的解決方法
- 基于JavaScript實現生成名片、鏈接等二維碼
- JavaScript生成二維碼圖片小結

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

PhphasthreecommentStyles: //,#forsingle-lineand/.../formulti-line.usecommentstoexplainwhycodeexists ,notwhatitdoes.marktodo/fix MeitemsanddisableCodeTemporaryDuringDebugging.avoidover-CommentingsImpleLogic.writeConcise, GrammaticallyCorrectcommentsandu

Langkah -langkah utama untuk memasang PHP pada Windows termasuk: 1. Muat turun versi PHP yang sesuai dan menyahpepijatnya. Adalah disyorkan untuk menggunakan versi Threadsafe dengan versi Apache atau nonthreadSafe dengan nginx; 2. Konfigurasi fail php.ini dan tukar nama php.ini-development atau php.ini-pengeluaran kepada php.ini; 3. Tambah laluan PHP ke laluan pembolehubah persekitaran sistem untuk penggunaan baris arahan; 4. Uji sama ada PHP dipasang dengan jayanya, laksanakan PHP-V melalui baris arahan dan jalankan pelayan terbina dalam untuk menguji keupayaan parsing; 5. Jika anda menggunakan Apache, anda perlu mengkonfigurasi p dalam httpd.conf

Sintaks asas PHP termasuk empat mata utama: 1. Tag PHP mesti berakhir, dan penggunaan tag lengkap disyorkan; 2. Echo dan cetak biasanya digunakan untuk kandungan output, di antaranya Echo menyokong pelbagai parameter dan lebih cekap; 3. Kaedah anotasi termasuk //, # dan //, untuk meningkatkan kebolehbacaan kod; 4. Setiap pernyataan mesti berakhir dengan titik koma, dan ruang dan rehat garis tidak menjejaskan pelaksanaan tetapi mempengaruhi kebolehbacaan. Menguasai peraturan asas ini boleh membantu menulis kod PHP yang jelas dan stabil.

Langkah -langkah untuk memasang Php8 di Ubuntu adalah: 1. Kemas kini senarai pakej perisian; 2. Pasang Php8 dan komponen asas; 3. Semak versi untuk mengesahkan bahawa pemasangan berjaya; 4. Pasang modul tambahan seperti yang diperlukan. Pengguna Windows boleh memuat turun dan menyegarkan pakej zip, kemudian mengubah suai fail konfigurasi, membolehkan sambungan, dan menambah laluan ke pembolehubah persekitaran. Pengguna MACOS mengesyorkan menggunakan HomeBrew untuk memasang, dan melakukan langkah -langkah seperti menambah ketuk, memasang Php8, menetapkan versi lalai dan mengesahkan versi. Walaupun kaedah pemasangan berbeza di bawah sistem yang berbeza, prosesnya jelas, jadi anda boleh memilih kaedah yang tepat mengikut tujuannya.

Bagaimana untuk mula menulis skrip PHP pertama anda? Pertama, sediakan persekitaran pembangunan tempatan, pasang XAMPP/MAMP/LAMP, dan gunakan editor teks untuk memahami prinsip berjalan pelayan. Kedua, buat fail yang dipanggil hello.php, masukkan kod asas dan jalankan ujian. Ketiga, belajar menggunakan PHP dan HTML untuk mencapai output kandungan dinamik. Akhirnya, perhatikan kesilapan biasa seperti titik titik koma, isu -isu rujukan, dan kesilapan sambungan fail, dan membolehkan laporan ralat untuk debugging.

Phpisasererver-sidescriptinglanguageusedforwebdevelopment, terutamanyafordynamicwebsitesandcmsplatformslikeworderpress.itrunsontheserver, processesdata, interaksiSwithdatabases, danSendshtmltobrowsers.commonusesinusludeusererorhentication, e-komisana

TohandlefileoperationsInphp, useappropriatefunctionsandmodes.1.toreAdafile, usefile_get_contents () forsmallfilesorfgets () inaloop forline-by-lineprocessing.2.towritetoafile, useFile_put_contents () forsimpleWritesOrappendingWithTheFile_AppendFlag, orfwrite () w

Kunci untuk menulis pernyataan Ifelse Python adalah untuk memahami struktur dan butiran logik. 1. Infrastruktur adalah untuk melaksanakan sekeping kod jika syarat -syarat ditubuhkan, jika tidak, bahagian lain dilaksanakan, yang lain adalah pilihan; 2. Penghakiman pelbagai syarat dilaksanakan dengan ELIF, dan ia dilaksanakan secara berurutan dan dihentikan sebaik sahaja ia dipenuhi; 3. Bersarang jika digunakan untuk penghakiman subdivisi selanjutnya, adalah disyorkan untuk tidak melebihi dua lapisan; 4. Ekspresi ternary boleh digunakan untuk menggantikan Ifelse mudah dalam senario mudah. Hanya dengan memberi perhatian kepada lekukan, perintah bersyarat dan integriti logik, kita boleh menulis kod penghakiman yang jelas dan stabil.
